Я хочу расширить DataFrame Panda, создавая объект, в котором все оригинальные атрибуты / методы DataFrame находятся в такте, и в то же время делаю доступными несколько новых атрибутов / методов. Мне также нужна возможность конвертировать (или копировать) объекты, которые уже являются DataFrames, в мой новый класс. То, что у меня есть, похоже, работает, но я чувствую, что мог нарушить какое-то фундаментальное соглашение. Это правильный способ сделать это, или я вообще должен это делать?
import pandas as pd
class DataFrame(pd.DataFrame):
def __init__(self, df):
df.__class__ = DataFrame # effectively 'cast' Pandas DataFrame as my own
идея состоит в том, что я мог бы затем инициализировать его непосредственно из Pandas DataFrame, например ::10000
df = DataFrame(pd.read_csv(path))