在DataFrame列的名称中换行

时间:2014-12-24 07:28:34

标签: python pandas export

我的理解是将换行符\n作为表示pandas.DataFrame列的字符串的一部分,可以将其视为 bad-practice 。例如:

pandas.DataFrame([[1,2],[3,4]], columns=['First\ncolumn', 'Second\ncolumn'])

主要原因是,这掩盖了繁琐名称背后的列名,因而容易出错。然而,其中一个优点是,在导出DataFrame时,例如excel,这在格式化列的名称方面非常方便。

在这种情况下,什么被视为最佳实践?有没有办法只为导出格式化列?我找不到一个。

2 个答案:

答案 0 :(得分:1)

删除列名中的换行符

为了使“新行”“\n”“换行”在pandas数据框列名中变红,只需使用下面的代码行:

df.columns = [x.replace("\n", " ") for x in df.columns.to_list()]

答案 1 :(得分:0)

您可以使用header参数:

>>> df = pandas.DataFrame([[1,2],[3,4]], columns=['First_Column', 'Second_Column'])
>>> df.to_csv('/tmp/df.csv', header=['First\nColumn','Second\nColumn'])
>>> pandas.read_csv('/tmp/df.csv') 
   First\nColumn  Second\nColumn
0              1               2
1              3               4