关于熊猫数据框的基本问题。我有一个带有数据点的 1x1 数据框,并且没有列标题(当前)。 df[0,0]
不起作用,因为我认为它需要一个列名。此外,df.0
也不行df[0,'']
。 df.ix[0,0]
确实有效。
一般来说,我需要有一个列名吗?将列名与熊猫数据框一起使用是最佳做法吗?如果我的 sql 查询没有列标题,是否最好在此时添加它们?
谢谢您的帮助。
不,您不需要分配列名,也不需要它们来访问任何元素。
In [12]: df = pd.DataFrame([0])
In [13]: df.ix[0,0]
Out[13]: 0
In [14]: df[0][0]
Out[14]: 0
实际上,您可以认为列已经有了名称——它是整数 0。看看当您提供名称时会发生什么
In [15]: df #Before naming the column
Out[15]:
0
0 0
In [16]: df.columns = ['ColA']
In [17]: df #Renamed
Out[17]:
ColA
0 0
In [18]: df['ColA'][0] #Now you can access the column using the new name
Out[18]: 0
In [19]: df[0][0] #... but trying the old name will not work
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
KeyError: 'no item named 0'
不过,您仍然可以DataFrame.ix
像以前一样使用:
In [20]: df.ix[0,0]
Out[20]: 0