如何将两个不同长度的列表合并为熊猫数据帧?



我有两个列表要合并为熊猫数据帧。这些列将是 CSV 的标题,数据包含单个列表形式的数据行。

import pandas as pd
columns = [column[0] for column in cursor.description]
len(columns)
>5
data = cursor.fetchall()
len(data)
>2458
len(data[0])
>5
df = pd.DataFrame(data=data, index=None, columns=columns)
>ValueError: Shape of passed values is (1, 2458), indices imply (5, 2458).

有人可以帮我合并这两个列表作为熊猫数据帧吗?如果我缺少任何其他细节,请告诉我。 谢谢!

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

试试这个

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新