初始问题
当我在 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
最佳答案
你可以传递一个列表来命名列,然后你可以在写入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/