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

时间:2017-09-06 02:51:09

标签: 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  

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

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

True

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

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

1 个答案:

答案 0 :(得分:8)

使用.作为列访问器是一种方便。除了名称中有空格外,还有许多限制。例如,如果您的列的名称与现有的数据框属性或方法相同,则您无法将其与.一起使用。非详尽列表包括meansumindexvaluesto_dict等。您也无法通过{{来引用带有数字标题的列1}}访问者。

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