Python報錯 ValueError: arrays must all be same length


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM