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

相关文章:

  • 2021-06-21
  • 2022-12-23
  • 2021-08-27
  • 2022-12-23
  • 2021-09-19
猜你喜欢
  • 2022-12-23
  • 2021-06-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-03-01
  • 2021-07-06
相关资源
相似解决方案