Ich habe eine neue Klasse geschaffen, die eine andere Datenstruktur (einen Pandas Datenrahmen in diesem Fall in denen er enthält.Kann ich die Methoden eines Attributs auf seine Elternklasse erweitern?
Diese Klasse andere Attribute und andere Methoden in ihm haben würde, zusätzlich zu dem Datenrahmen Pandas. Einige davon Methoden werden ähnlich wie Methoden im DataFrame benannt, zB to_excel
, aber machen Sie noch einige zusätzliche Dinge vor dem Aufruf der DataFrame-Methode.Unabhängig davon ist der Hauptbestandteil dieser DataFrame.Daher möchte ich in der Lage sein, alle anderen Methoden zu verwenden der Datenrahmen, zB getitem
, direkt auf Objekte dieser Klasse.
class NewDataStructure:
def __init__(self):
self.df = pd.DataFrame()
# have some extra attributes here that the pandas DataFrame doesn't have
def __getitem__(self, key):
return self.df.__getitem__(key)
def to_excel(self, writer):
# do some extra stuff here that the pandas DataFrame doesn't do but use the pandas method eventually
self.df.to_excel(writer)
gibt es eine Möglichkeit die Methoden eines Attributs auf seine Elternklasse zu erweitern? Oder mache ich das falsch? Sollte die NewDataStructure vom DataFrame erben?