df['CID']委托给
NDframe.__getitem__,显然您正在执行索引 *** 作。
另一方面,
df.CIDto的代表必须
NDframe.__getattr__做一些额外的繁重工作,主要是确定“
CID”是使用属性访问来调用的属性,函数还是列(方便,但不建议用于生产代码)。
现在,为什么不推荐呢?考虑,
df = pd.Dataframe({'A': [1, 2, 3]})df.A0 11 22 3Name: A, dtype: int64
将“
A”列称为
df.A,没有任何问题,因为它与熊猫中的任何属性或函数命名都不冲突。但是,请考虑该
pop功能(仅作为示例)。
df.pop# <bound method NDframe.pop of ...>
df.pop是的绑定方法
df。现在,出于各种原因,我想创建一个名为“ pop”的列。
df['pop'] = [4, 5, 6]df A pop0 1 41 2 52 3 6
很好,但是
df.pop# <bound method NDframe.pop of ...>
我无法使用属性符号来访问此列。然而…
df['pop']0 41 52 6Name: pop, dtype: int64
方括号表示法仍然有效。这就是为什么这样更好。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)