合并多CSV后的DataFrame,如何用一行代码将列名A/B/C/D/E替换为F?
解决方法
可以用以下几种一行代码的方式实现需求:
方法一:列表推导式(推荐,灵活可控)
直接判断列名是否属于需要替换的集合,是则替换为F,否则保留原列名:
df.columns = ['F' if col in {'A', 'B', 'C', 'D', 'E'} else col for col in df.columns]
注意:别用list当变量名,这是Python内置类型,会覆盖内置函数导致后续问题。
方法二:正则匹配替换
如果需要精确匹配列名(即列名完全是A/B/C/D/E,没有其他字符),可以用str.replace结合正则:
df.columns = df.columns.str.replace('^(A|B|C|D|E)$', 'F', regex=True)
这个写法会把所有完全匹配A、B、C、D、E的列名统一替换成F。
内容的提问来源于stack exchange,提问作者Burchette
相关产品推荐
相关产品推荐

