如果您 确实 需要向中添加方法,则pandas.DataFrame
可以从中继承。就像是:
import pandas as pd
class MyDataFrame(pd.DataFrame):
def mymethod(self):
"""Do my stuff"""
from mymodule import *
df = MyDataFrame(np.random.randn(4,4))
df.mymethod()
pandas
对数据帧执行操作时,通常会返回新的数据帧。因此,要保留数据框类,则需要在对pandas
类的实例执行操作时返回类。可以通过提供如下_constructor
属性来实现:
class MyDataFrame(pd.DataFrame):
@property
def _constructor(self):
return MyDataFrame
def mymethod(self):
"""Do my stuff"""
class MyDataFrame(pd.DataFrame):
@property
def _constructor(self):
return MyDataFrame
df = MyDataFrame([1])
print(type(df))
df = df.rename(columns={})
print(type(df))
<class '__main__.MyDataFrame'>
<class '__main__.MyDataFrame'>