使用“DataFrame(dict)”语句,即用dict构建DataFrame时,key会变成列名column,(list-like)values会变为行名row,如果values的个数不一致(可以想象成表格的两列对不齐)就会产生这个错误。
解决方法:
1、把个数弄一致。
2、加一个“Orient =‘index’”,变成面向行的,这样行数为key值,列数为最长的values的长度,而其他较短的values则用None填充。
d={ 'NUM' : range(3),
'C' : ['c1','c2','c3'],
'D' : ['d1','d2','d3','d4'],
'E' : ['e1','e2','e3'],
'B' : ['b1','b2','b3']}
df = pd.DataFrame.from_dict(d, `orient='index'`)
print(df)
行数为key值,列数为最长的values的长度,而其他较短的values【原来对不齐的】则用None填充。
输出结果:
0 1 2 3
NUM 0 1 2 None
C c1 c2 c3 None
D d1 d2 d3 d4
E e1 e2 e3 None
B b1 b2 b3 None