【发布时间】:2018-06-03 17:07:17
【问题描述】:
第一个问题:
我正在使用 pandas 的 DataFrames,并且我经常运行相同的例程作为数据预处理和其他事情的一部分。我想将其中一些例程编写为一个名为ExtendedDataframe 的类中的方法,该类扩展pandas.DataFrame。我不知道该怎么做。到目前为止,我没有在我的新类中写任何__init__,以便它继承自pandas.DataFrame:
import pandas
class ExtendedDataframe(pandas.DataFrame):
def some_method(self):
blahblah
这显然使我能够通过继承创建ExtendedDataframe 的实例。但我通常通过pandas.read_csv 之类的方式加载数据,它返回经典的DataFrame。除了标准DataFrame 提供的方法之外,我如何才能加载此类 csv 数据并在某些时候将其转换为ExtendedDataframe 以使用我自己的方法?如果加载阶段返回一个标准的DataFrame,然后我将其转换为ExtendedDataframe,那很好。
第二个问题:
并非我使用的所有 pandas 功能都是 DataFrame 方法。有些是函数,例如 pandas.merge,它们将 DataFrames 作为参数。如何将此类函数的使用扩展到我的 ExtendedDataframe 类的实例?换句话说,如果df1和df2是ExtendedDataframe的两个实例,我该怎么做
pandas.merge([df1, df2], ...)
就像使用 DataFrame 的标准实例一样工作?
【问题讨论】:
标签: python pandas class inheritance dataframe