创建DataFrame触发ValueError:如何用3个numpy数组生成三列DataFrame?
解决方法
错误原因是你传入的[a, b, c]会被pandas识别为3行数据,每行有120个元素(对应120列),但你指定了仅3列,列数不匹配导致报错。
以下两种常用方法可以正确创建包含这三列的DataFrame:
方法一:使用字典传入数据(推荐)
直接以列名为键、对应数组为值构建字典,pandas会自动将每个数组作为一列:
import pandas as pd df = pd.DataFrame({"a": a, "b": b, "c": c})
方法二:转置数组后传入
先将数组组成的列表转为二维数组,再转置成120行3列的结构,再指定列名:
import pandas as pd import numpy as np df = pd.DataFrame(data=np.array([a, b, c]).T, columns=["a", "b", "c"])
内容的提问来源于stack exchange,提问作者user3668129
相关产品推荐
相关产品推荐

