Bla*_*ard 6 python lambda rename pandas
有没有办法在pandas dataframe中使用lambda但不是全部更改某些列名?例如,假设该数据帧具有其名称是列osx,centos,ubunto,windows.在这个数据框中,我想用附加的列名替换所有列名x,所以在这种情况下,我可以通过以下方式重命名列名:
df.rename(columns=lambda x: x+'x')
Run Code Online (Sandbox Code Playgroud)
但是,如果我想重命名除了以外的所有列名ubunto,我该怎么办呢?因此,我希望得到的是数据帧,其名称是osxx,centosx,ubunto,windowsx.实际上,我真正的数据框有更多的列,所以我不喜欢使用通常的字典语法一个一个地写出来,而是希望在lambda可行的情况下依靠函数.
谢谢.
wai*_*kuo 12
一个三元运营商可能会实现你的目标:
os_list = ['osxx', 'centos', 'windowsx']
df.rename(columns=lambda x: x+'x' if x in os_list else x)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7307 次 |
| 最近记录: |