例如,我有一个这样的数据框。
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更好?
答案 0 :(得分:8)
使用.
作为列访问器是一种方便。除了名称中有空格外,还有许多限制。例如,如果您的列的名称与现有的数据框属性或方法相同,则您无法将其与.
一起使用。非详尽列表包括mean
,sum
,index
,values
,to_dict
等。您也无法通过{{来引用带有数字标题的列1}}访问者。
所以,是的,.
严格优于['col']
,因为它更加一致和可靠。