一尘不染

对于Pandas DataFrame,使用方括号或点访问列之间有什么区别?

python

即:

import pandas

d = {'col1': 2, 'col2': 2.5}
df = pandas.DataFrame(data=d, index=[0])

print(df['col2'])
print(df.col2)

输出是相同的。

这个答案适用于这种情况吗?


阅读 862

收藏
2020-02-21

共1个答案

一尘不染

“点符号”,即为方便起见公开df.col2的属性访问。

你可以直接作为属性访问“系列”上的索引,“数据框架”上的列以及“面板”上的项目:

df['col2']做同样的事情:它返回pd.Series列的a

关于属性访问的一些警告:

  • 你无法添加列(df.new_col = x将无法正常工作,更糟的是:它会默默地实际上创建一个新属性而不是一个列-请在此处进行猴子修补)
  • 如果列名中有空格或列名是整数,则将无法使用。
2020-02-21