Python報錯 ValueError: arrays must all be same length
輸入:
d={ 'NUM' : range(3),
'C' : ['c1','c2','c3'],
'D' : ['d1','d2','d3','d4'],
'E' : ['e1','e2','e3'],
'B' : ['b1','b2','b3']}
期望功能:把不等長的value輸出,形成DataFrame。輸入以下代碼:
import pandas as pd
df = pd.DataFrame(d)
結果報錯: ValueError: arrays must all be same length
報錯原因分析:
使用DataFrame(dict) 來用dict構建DataFrame時,key會變成列column,(list-like)values會變為行row,每個values中的list長度不一致,就會產生這個錯誤。
解決方法:
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
原文: https://blog.csdn.net/sinat_26811377/article/details/100705125