【发布时间】:2014-09-28 20:39:27
【问题描述】:
最初的问题
当我在 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
如何使df.columns.name 在我将数据帧输出到 csv 时保留?
粗略的解决方法
目前粗略的解决方法是我在做以下事情:
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
【问题讨论】:
-
我认为这个(AFAIK)没有选项的部分原因是很难知道列索引名称会去哪里 - 你认为它到底属于哪个单元格?
-
这将与用作 ipython 输出的显示设置相同。 “y”将进入单元格(1,1),“x”将进入单元格(2,1),左上角的数据值将从单元格(3,2)开始。
标签: python csv numpy pandas ipython