如何重命名带有括号和引号的列名?

时间:2019-01-30 22:06:40

标签: python pandas

我有2个数据帧,A和B。我在A中使用一些命令来获取数据透视表(并且我使用aggfunc来获取“持续时间”数据的总计)。之后,我合并了A和B。当我运行命令以显示列名时,A中的列看起来很奇怪,并带有括号和引号,如下所示: 索引([('Name',''),        ('代码',''),('sum','持续时间'),                          '位置'],       dtype ='object')

标题示例:

<table border="1">
<tr>
  <td>('Name', '')</td>
  <td>('Code', '')</td>
  <td>('Sum', 'Duration')</td>
  <td>Position</td>
</tr>
</table>

如您所见,只有位置(来自数据框B)。我试图使用重命名功能从A更改那3列,但是没有用。

我期望决赛是:

<table border="1">
<tr>
  <td>Name</td>
  <td>Code</td>
  <td>Duration</td>
  <td>Position</td>
</tr>
</table>

有人知道我应该使用哪种语法来重命名那些列?实际上,我将文件另存为csv,然后需要手动更改列名。

1 个答案:

答案 0 :(得分:0)

使用df.rename(columns=your_column_mapping),如下所示:

df.rename(columns={"('Name', '')" : "Name",
                   "('Code', '')" : "Code",
                   "('Sum', 'Duration')" : "Duration"}) 

但是,就像其他人在评论中告诉您的那样,您真的应该首先研究这些奇怪的名字是如何产生的。

重命名方法的文档可以在here中找到。