分类Pandas,修改自我

2024-09-26 18:04:57 发布

您现在位置:Python中文网/ 问答频道 /正文

假设您有一个数据帧对象,其中包含一些多行和多列数据。然后,您可以轻松地将其分配到自身以修改对象。例如:

test = test.iloc[0:10,:]

将仅保留原始数据集的前10行

当我用多重遗传给熊猫分类时,我试图复制这种行为。例如:

class data(pd.DataFrame, time, series):
    
    def __init__(self, *args, **kwargs):
        super(data, self).__init__(*args, **kwargs)

    @property
    def _constructor(self):
        return data

其中时间系列是提供附加方法的类。这里,只有一个系列是相关的:

class series(object):

    def __init__(self):
        super(series, self).__init__(*args, **kwargs)

    def keep10rows(self):
        self = self.iloc[0:10,:]
        return self

现在,我创建一个新的类实例:

test = data()

现在我们可以用一些数据填充测试。如果我申请:

result = test.keep10rows()

这里,结果看起来是正确的。但是,test.data没有改变。为什么?如何实现对象内部数据的更改


Tags: 数据对象testselfdatareturninitdef

热门问题