设置数据框索引的方式有什么区别?
data = [['A', 5], ['B', 6], ['C', 7]]
df = pd.DataFrame(data=data, columns=['key', 'amount'], index= ['key'])
我收到以下错误:
Shape of passed values is (2, 3), indices imply (2, 1)
如果我执行以下方法,它就可以正常工作:
df2 = pd.DataFrame(data=data, columns=['key', 'amount'])
df2.set_index(['key'], inplace=True)
我设置索引的方式有什么区别?
最佳答案
一方面,pd.Dataframe
期望索引是一个数组,并将用作行的索引,例如:
In [17]: data
Out[17]: [['A', 5], ['B', 6], ['C', 7]]
In [18]: df = pd.DataFrame(data=data, index=['a', 'b', 'c'])
In [19]: df
Out[19]:
0 1
a A 5
b B 6
c C 7
这不是您想要实现的目标。
另一方面DataFrame.set_index
设置一个(或多个)列成为索引,这就是您在本例中想要执行的操作。
关于python - 设置索引的方式有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38737528/