微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 更改多个列名称

假设我有一个包含这些列名的数据框:

['a','b','c','d','e','f','g'] 

我想将名称从’c’更改为’f'(实际上将字符串添加到列的名称),因此整个数据框列名称将如下所示:

['a','b','var_c_equal','var_d_equal','var_e_equal','var_f_equal','g']

好吧,首先我创建了一个用我想要的字符串更改列名的函数

df.rename(columns=lambda x: 'or_'+x+'_no', inplace=True)

但现在我真的想了解如何实现这样的事情:

df.loc[:,'c':'f'].rename(columns=lambda x: 'var_'+x+'_equal', inplace=True)

解决方法:

一种方法是使用字典而不是匿名函数.以下两种变体都假设您需要重命名的列是连续的.

按位置连续列

d = {k: 'var_'+k+'_equal' for k in df.columns[2:6]}
df = df.rename(columns=d)

名称连续列

如果需要计算数值指数:

cols = df.columns.get_loc
d = {k: 'var_'+k+'_equal' for k in df.columns[cols('c'):cols('f')+1]}
df = df.rename(columns=d)

专门识别的列

如果要显式提供列:

d = {k: 'var_'+k+'_equal' for k in 'cdef'}
df = df.rename(columns=d)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐