Geerbte Klassenmethoden geben das übergeordnete Objekt zurück. Es muss dafür gesorgt werden, dass ein Objekt der untergePython

Python-Programme
Guest
 Geerbte Klassenmethoden geben das übergeordnete Objekt zurück. Es muss dafür gesorgt werden, dass ein Objekt der unterge

Post by Guest »

Ich versuche zu prüfen, ob es möglich ist, die PySpark DataFrame-Klasse in Unterklassen zu unterteilen, um meiner Arbeit zusätzliche wiederverwendbare Methoden hinzuzufügen.

Code: Select all

class EnhancedDataframe(DataFrame):
def __init__(self, df):
super().__init__(df._jdf,df.sql_ctx)

def notNullCount(self,col_name):
return self.filter(col(col_name).isNotNull()).count()
Das Problem besteht darin, dass, wenn ich damit neue Datenrahmen erstelle, meine neuen Klassenmethoden immer dann nicht mehr verfügbar sind, wenn ich eine übergeordnete Methode verwende, die ein übergeordnetes Typobjekt zurückgibt.
So, wie man ein Objekt der untergeordneten Klasse für alle übergeordneten Methoden zurückgibt. Eine Option, die ich in Betracht ziehe, ist die Funktion __getattribute__ und versuche, ein untergeordnetes Objekt zurückzugeben, indem ich es in den Namen der untergeordneten Klasse einschließe. Haben wir noch andere Möglichkeiten? Was ich versuche, ist es machbar?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post