我非常想继承并为我的用例创建一个pandas DataFrame
的子类,但是从我读过的关于good programming和Pandas internals documentation的所有内容来看,这不是正确的事情。做。
作为简化示例,我可以说我DataFrame
的行是人,而字段是高度和重量。我很想成为子类,所以我可以有一个bmi()
的方法。我会这样做:
将pandas导入为pd
class People(pd.DataFrame):
def __init__(self, *args, **kwargs):
super(People, self).__init__(*args, **kwargs)
def bmi(self):
return self['weight'] / self['height'] ** 2 x 703
people = People([[172, 74], [100, 60]])
bmi = people.bmi()
我如何使用作文?它会是这样的:
class People(object):
def __init__(self, data):
self.data = pd.DataFrame(data)
def bmi(self):
return self.data['weight'] / self.data['height'] ** 2 x 703
people = People([[172, 74], [100, 60]])
bmi = people.bmi()
如果没有,我该怎么做?如果是这样,为什么这样更好?
注意:我意识到这是一个过于简单的例子。