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

如何根据筛选条件自动重命名Pandas DataFrame列名

动态替换DataFrame列名:关联筛选条件名称的解决方案

问题核心

你的代码当前把'filter_name'当作固定字符串使用,没有引用预先定义的变量,导致无法将筛选条件名称动态替换到列名上。同时原代码中遍历所有列的操作完全多余,只需针对Col1列做重命名即可。

修正步骤与代码

  1. 在脚本开头定义筛选名变量:可以手动指定,也可以根据筛选的typ值自动生成(更适配自动化需求)
  2. 移除无用的列遍历循环:直接对目标列Col1执行重命名
  3. 在rename方法中使用变量而非字符串字面量

基础实现(手动指定筛选名)

# 脚本开头定义筛选名变量
filter_name = 'General'

# 执行筛选逻辑
df1 = df[(df.typ == 'GENERAL')]

# 重命名Col1列为变量对应的名称
df1.rename({'Col1': filter_name}, axis=1, inplace=True)

自动化实现(根据筛选值生成列名)

如果想让列名随筛选的typ值自动变化,无需手动修改变量,可以用字符串方法自动格式化:

# 定义筛选的typ值
filter_typ = 'GENERAL'
# 自动将筛选值转为首字母大写的格式作为列名(比如'GENERAL'→'General')
filter_name = filter_typ.title()

# 执行筛选
df1 = df[(df.typ == filter_typ)]
# 动态重命名列
df1.rename({'Col1': filter_name}, axis=1, inplace=True)

效果验证

执行后df1的列名会变为:

General   Col2   Col3
 10     20     30
 40     50     60

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 03:35:23