我有两个列表要合并为熊猫数据框。列将是 CSV 的标题,数据包含作为单个列表的数据行。import pandas as pdcolumns = [column[0] for column in cursor.description]len(columns)>5data = cursor.fetchall()len(data)>2458len(data[0])>5df = pd.DataFrame(data=data, index=None, columns=columns)>ValueError: Shape of passed values is (1, 2458), indices imply (5, 2458).有人可以帮我将这两个列表合并为熊猫数据框吗?如果我遗漏了任何其他细节,请告诉我。谢谢!
2 回答

HUX布斯
TA贡献1876条经验 获得超6个赞
光标的存在表明您正在使用pyodbc
. data
包含pyodbc.Row
对象,因此pd.DataFrame
构造函数无法拆分数据。
试试这个
df = pandas.DataFrame([tuple(t) for t in cursor.fetchall()], columns=columns)

开满天机
TA贡献1786条经验 获得超13个赞
您的 csv 文件显然有 5 列,但您的数据是单个值列表。这意味着您也只需要 1 个列标题。Pandas 现在抱怨是因为列列表 (5) 的维度与数据 (1) 中的列数不匹配。例如,您可以通过以下方式解决此问题:
df = pd.DataFrame(data=data, index=None, columns=[columns[0]])
那是假设您要使用第一个列名。
添加回答
举报
0/150
提交
取消