ValueError: arrays must all be same length原因及解决方法

ValueError: arrays must all be same length

使用“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

你可能感兴趣的:(python,开发语言)