python - 将 Pandas 数据框保存到 csv 时,如何保留 columns.name?

标签 python csv numpy pandas ipython

初始问题

当我在 ipython 中运行以下命令时

import numpy as np
import pandas as pd

df = pd.DataFrame(np.round(9*np.random.rand(4,4), decimals=1))
df.index.name = 'x'
df.columns.name = 'y'

df.to_csv('output.csv')

df

输出结果如下:

y    0    1    2    3
x                    
0  7.6  7.4  0.3  7.5
1  5.6  0.0  1.5  5.9
2  7.1  2.1  0.0  0.9
3  3.7  6.6  3.3  8.4

但是,当我打开 output.csv 时,“y”被删除了:

x   0   1   2   3
0   7.6 7.4 0.3 7.5
1   5.6 0   1.5 5.9
2   7.1 2.1 0   0.9
3   3.7 6.6 3.3 8.4

当我将数据帧输出到 csv 时,如何才能保留 df.columns.name

粗略的解决方法

我目前的粗略解决方法是执行以下操作:

df.to_csv('output.csv', index_label = 'x|y')

这导致 output.csv 阅读:

x|y 0   1   2   3
0   7.6 7.4 0.3 7.5
1   5.6 0   1.5 5.9
2   7.1 2.1 0   0.9
3   3.7 6.6 3.3 8.4

更好的东西会很棒!感谢您的帮助(提前)。

上下文

这就是我正在做的事情:https://github.com/SimonBiggs/Electron-Cutout-Factors

这是一个示例表:https://github.com/SimonBiggs/Electron-Cutout-Factors/blob/master/output/20140807_173714/06app06eng/interpolation-table.csv

最佳答案

你可以传递一个列表来命名列,然后你可以在写入csv时指定索引名称:

df.columns = ['column_name1', 'column_name2', 'column_name3']
df.to_csv('/path/to/file.csv', index_label='Index_name')

关于python - 将 Pandas 数据框保存到 csv 时,如何保留 columns.name?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25151443/

相关文章:

csv - 如何从 aws 控制台将 dynamoDB 表的整个记录​​导出到 CSV?

javascript - 使用客户端脚本将 CSV 转换为 XML

python - 计算 Adamic-Adar 的快速算法

python - 如何在 numpy 数组中按行随机分配值

python - PIP安装不起作用(六、numpy和python-dateutil要求)

python - 在数据框中设置样式后执行操作

python - 用 1 替换 Pandas 数据框中的非零值

使用多个参数运行 exe 文件的 Python 脚本

python - 如何释放端口然后第二次运行Tornado应用程序?

java - Java 中的撒克逊语 : XSLT for CSV to XML