【发布时间】:2021-11-23 18:10:42
【问题描述】:
我想创建一个自己的类ExampleClass,将数据存储在pandas DataFrame 中。我这样做是为了创建自己的方法来操作数据。
我的问题是:
是否可以使用ExampleClass 的对象,例如:
import pandas as pd
class ExampleClass:
def __init__(self, data: pd.DataFrame):
self.data = data
self.other_value = 42
obj = ExampleClass(pd.DataFrame([1,2,3]))
part_of_obj = obj.iloc[:2]
type(part_of_obj) == ExampleClass 和 part_of_obj.data == obj.data.iloc[:2] 在哪里?
所以我想要一份obj 但带有obj.data.iloc[:2] 的副本。
我不想使用__getitem__,因为那样我就被绑定到 iloc 或 loc 并且不能同时使用两者。而且我不希望自己创建一个名为iloc() 的方法,因为我无法使用[] 轻松访问它。
也许我可以通过继承来实现,但我已经编写了我的类,它使用 DataFrame 来操作数据,这使得更改所有编写的内容变得非常困难。
【问题讨论】:
标签: python pandas inheritance methods