我有一个扩展熊猫的课程
class teste(pd.DataFrame):
def __init__(self, data=None, index=None, columns=None, dtype=None,
copy=False, atrib_0 = '', atrib_1 = None, atrib_2 = []):
super(teste,self).__init__(data=data, index=index, columns=columns, dtype=dtype, copy=copy)
self.atrib_0 = atrib_0
self.atrib_1 = atrib_1
self.atrib_2 = atrib_2
return
我使用以下代码创建了该类的实例:
t = teste(pandas_df,
atrib_0 = 'NAME',
atrib_1 = 'D',
atrib_2 = ['A','B','C','D'],
)
但是这样做会为atrib_2
生成UserWarning,表示Pandas不允许通过新的属性名称创建列。
由于我没有创建新列,而是将属性归因于我的类的实例,所以我相信它会感到困惑,因为可以使用代码df.new_column = []
访问现有列。任何获得列表的新属性都会生成该警告。
有人知道如何摆脱它吗?我究竟做错了什么?任何帮助深表感谢。