繁体   English   中英

在Pandas 0.21.0版之后,如何将Python dict转换为DataFrame列?

[英]How to convert Python dict to DataFrame columns after Pandas version 0.21.0?

我试图在两台计算机上运行相同的脚本,并让我的字典结构,数据转换为Pandas DataFrame。

df = pd.DataFrame(data, columns=[column_label])
df.to_csv('./result.csv', mode='w', index=False)

它在Pandas版本小于0.21.0的计算机上完美运行。 但是,当我在服务器上执行相同的代码时,突然会生成仅带有列标签而没有任何数据的csv文件。

我试图打印出df的值,并且在服务器上全部为NAN。

当我像这样删除列部分时:

df = pd.DataFrame(data)
df.to_csv('./result.csv', mode='w', index=False)

突然,数据又回来了,尽管缺少列并且数据不整齐。

如果我做

df = pd.DataFrame(data)
df.columns = column_label
df.to_csv('./result.csv', mode='w', index=False)

列标签向后,但列标签顺序不正确,并且数据也与列标签的顺序不匹配。

如果我做

df = pd.DataFrame(columns=[column_label])
df = pd.DataFrame(data)
df.to_csv('./result.csv', mode='w', index=False)

数据与列标签的顺序匹配,但是列标签本身不正确...

此后,我已将运行0.10.1的计算机上的pandas库升级到0.22.0,并且它也停止了工作。

因此,出于某种原因,在Pandas 0.21.0版之后,将数据和column = [column_label]分配给DataFrame的一行似乎打破了将数据转换为DataFrame的命令。

如何使用较新版本的Pandas进行列分配?

我假设column_label是一个列表.pandas的columns参数只需要一个列名列表。 通过将[column_label]传递给columns参数,您正在执行的是传递列表列表。 尝试不使用[]

df = pd.DataFrame(data, columns=column_label)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM