我正在尝试创建一个类似于pandas Dataframe的类,并添加一些构造函数:
class ExtendedDataFrame(DataFrame):
def __init__(self):
super(ExtendedDataFrame, self).__init__() # without this I get a pandas error
@classmethod
def contructor1(cls, filename):
"Create DataFrame from file"
df = pd.read_csv(filename) # returns a DataFrame
df.__class__ = cls
return df
# more methods extending Dataframe ...
所以现在我可以做到:
ExtendedDataFrame.constructor1('table_xx.txt') # returns an ExtendedDataFrame instance
我想要的是能够以这种方式获得我的Table类的实例:
ExtendedDataFrame('table_xx.txt')
推荐的方法是什么?
换句话说,我试图创建一个ExtendedDataFrame
类,但是像read_csv
这样的一些pandas方法返回一个DataFrame
,而我希望返回一个ExtendedDataFrame
。
发布于 2013-07-17 23:24:01
在__init__
方法中使用参数扩展,调查所提供的参数,如果找到一个字符串参数,则在内部执行Table.constructor1('string')
。
另一方面,仔细看看你的问题,我想知道你想要在这里实现什么。到目前为止,您的constructor1
类方法没有任何意义。您想要实现什么样的功能,以便df = pd.read_csv(...)
不能满足您的需求?
https://stackoverflow.com/questions/17711934
复制相似问题