正确访问pandas数据帧列的方法

chr*_*821 2 python pandas

例如,我有一个像这样的数据帧.

     Date          Open          High           Low         Close  \
0  2009-08-25  20246.789063  20476.250000  20143.509766  20435.240234   

      Adj Close      Volume  
0  20435.240234  1531430000  
Run Code Online (Sandbox Code Playgroud)

使用属性或显式命名都给我相同的输出:

sum(data.Date==data['Date']) == data.shape[0]

True
Run Code Online (Sandbox Code Playgroud)

但是,我无法访问使用空格命名的列,例如使用df.columnname命名的"Adj Close",但可以使用df ['columnname'].

使用df ['columnname']比使用df.columnname更好吗?

piR*_*red 8

使用.列访问器是一种方便.除了名称中有空格外,还有许多限制.例如,如果您的列的名称与现有的数据框属性或方法相同,则无法将其与a一起使用..非详尽列表是mean,sum,index,values,to_dict,等你也不能引用列通过数字头.访问.

所以,是的,['col']严格要好,.col因为它更加一致和可靠.