You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据列名条件批量重命名Pandas DataFrame中的大量列

解决方案

你可以通过判断列名是否为数字的规则批量生成重命名映射,不需要手动逐个指定,以下是两种常用实现方式:

方法1:使用lambda表达式一键重命名

直接在rename方法中传入匿名函数做列名判断,写法最简洁:

# 自动识别所有数字列,重命名为Role+数字格式,非数字列保持原名
df.rename(columns=lambda x: f"Role{x}" if str(x).isdigit() else x, inplace=True)

该写法兼容列名为整数类型(0/1/2)和字符串类型("0"/"1"/"2")的两种情况,适配XML解析后列名长度不固定的场景。

方法2:先筛选后生成映射(适配复杂规则)

如果需要额外加过滤规则、避免误改其他数字命名的非目标列,可以先筛选目标列再生成重命名字典:

# 第一步:筛选出所有需要重命名的数字列
target_cols = [col for col in df.columns if str(col).isdigit()]
# 第二步:生成重命名映射字典
rename_mapper = {col: f"Role{col}" for col in target_cols}
# 第三步:执行重命名
df.rename(columns=rename_mapper, inplace=True)

如果后续需要加规则,比如仅重命名数字大于等于0、或者数字小于某阈值的列,只需要在列表生成式的判断条件中补充逻辑即可。


内容的提问来源于stack exchange,提问作者Prasoon Shukla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 15:39:02