Python 将列插入dataframe后缺少属性

Python 将列插入dataframe后缺少属性,python,pandas,dataframe,Python,Pandas,Dataframe,为了向数据帧中的各个元素添加一些信息,我使用了分配属性的方法,如图所示 >>> import pandas as pd >>> df = pd.DataFrame([[1,2], [3,4]], columns=['a','b']) >>> df.a.label = 'foo' >>> df.b.label = 'bar' >>> print df.a.label, df.b.label foo bar

为了向数据帧中的各个元素添加一些信息,我使用了分配属性的方法,如图所示

>>> import pandas as pd
>>> df = pd.DataFrame([[1,2], [3,4]], columns=['a','b'])
>>> df.a.label = 'foo'
>>> df.b.label = 'bar'
>>> print df.a.label, df.b.label
foo bar
但是,如果插入一个新列并重复相同的过程,则会存储新属性,但会丢失旧属性

>>> df.c.label = 'c'
>>> df['c'] = [5,6]
>>> df.c.label = 'c label'
>>> print df.c.label
'c label'
>>> print df.a.label
AttributeError: 'Series' object has no attribute 'label'

为什么会这样?我能做些什么?

所以
打印df.c.label
第一次工作,而不是第二次?大多数熊猫操作都会生成一个包含复制元素的新帧。这些副本中不保留属性。一般来说,添加任意属性不是一个好习惯用法。如果有帮助的话,可以将另一列的属性保留为字符串。