为了账号安全,请及时绑定邮箱和手机立即绑定

如何将两个不同长度的列表合并为 Pandas 数据框?

如何将两个不同长度的列表合并为 Pandas 数据框?

精慕HU 2021-07-19 16:04:51
我有两个列表要合并为熊猫数据框。列将是 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个赞

光标的存在表明您正在使用pyodbcdata包含pyodbc.Row对象,因此pd.DataFrame构造函数无法拆分数据。

试试这个

df = pandas.DataFrame([tuple(t) for t in cursor.fetchall()], columns=columns)


查看完整回答
反对 回复 2021-07-21
?
开满天机

TA贡献1786条经验 获得超13个赞

您的 csv 文件显然有 5 列,但您的数据是单个值列表。这意味着您也只需要 1 个列标题。Pandas 现在抱怨是因为列列表 (5) 的维度与数据 (1) 中的列数不匹配。例如,您可以通过以下方式解决此问题:

df = pd.DataFrame(data=data, index=None, columns=[columns[0]])

那是假设您要使用第一个列名。


查看完整回答
反对 回复 2021-07-21
  • 2 回答
  • 0 关注
  • 656 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号