python pandas以相同的方式重命名多个列标题

jea*_*elj 4 python rename header pandas

考虑一个简单的df:

HeaderA | HeaderB | HeaderC 
    476      4365      457
Run Code Online (Sandbox Code Playgroud)

有没有办法重命名所有列,例如最后添加到所有列的"X"?

HeaderAX | HeaderBX | HeaderCX 
    476      4365      457
Run Code Online (Sandbox Code Playgroud)

我正在连接多个数据帧,并希望根据它们来自哪个数据集轻松区分列.

或者这是唯一的方法吗?

df.rename(columns={'HeaderA': 'HeaderAX'}, inplace=True)
Run Code Online (Sandbox Code Playgroud)

我有超过50个列标题和10个文件; 所以上述方法需要很长时间.

谢谢

piR*_*red 9

pd.DataFrame.add_suffix

df.add_suffix('X')

   HeaderAX  HeaderBX  HeaderCX
0       476      4365       457
Run Code Online (Sandbox Code Playgroud)

和妹妹的方法
pd.DataFrame.add_prefix

df.add_prefix('X')

   XHeaderA  XHeaderB  XHeaderC
0       476      4365       457
Run Code Online (Sandbox Code Playgroud)

您也可以使用该pd.DataFrame.rename方法并传递一个函数.要完成同样的事情:

df.rename(columns='{}X'.format)

   HeaderAX  HeaderBX  HeaderCX
0       476      4365       457
Run Code Online (Sandbox Code Playgroud)

在这个例子中,'{}X'.format是一个函数,它接受一个参数并附加一个'X'

这种方法的优点是,inplace=True如果您选择,您可以使用.

  • 谢谢你,后缀很棒 (2认同)