微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python:在csv中导出矩阵

我有一个2D矩阵,包含13行和13列(除第一列之外的标题),在Python中命名为correl.该Correl矩阵是从DataFrame生成的,我希望用多个correl填充矩阵相关.例如:

correlation=[]
correl=df.corr()
correlation=correlation.append(correl) #correlation is not a DataFrame

我使用correlation = []的原因是因为我希望用多个相关表填充相关性.这就是我使用append的原因,因为这是一个循环.

现在我想在csv文件中导出这个相关矩阵.我做:

with open("C:\destinationfolder\file.csv", "wb") as f:
    writer = csv.writer(f)
    writer.writerows(correlation)

我收到此错误

引发KeyError(‘没有名为%s’的项目%com.pprint_thing(item))
KeyError:你没有名为0’的项目

为什么?
我的猜测是我没有第一列的标题…是否有更简单的方法将我的相关表导出到csv?

解决方法:

它看起来像correlation is a DataFrame too,所以你可以简单地使用to_csv

correlation.to_csv("C:\destinationfolder\file.csv")

如果您有DataFrames列表,请更新以回答:

如果您有一个要在csv中创建的DataFrame列表,您有两个选择:

>将列表连接成一个更大的框架,并使用to_csv:

pd.concat(list_of_dataframes).to_csv(...)

>遍历每个DataFrame并使用to_csv with append(mode =’a’).就像是:

list_of_dataframes[0].to_csv(...)  # write first, using headers..  assumes list isn't empty!
for df in list_of_dataframes[1:]:
    df.to_csv(..., header=False, mode='a')

https://stackoverflow.com/a/17531025/1240268.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐