如何在Python/Pandas中动态重命名带随机后缀的DataFrame列
Pandas动态重命名带随机后缀的列
方法一:定位第二列精准重命名
已知目标是第二列,直接通过索引获取列名,结合前缀规则完成重命名:
import pandas as pd # 读取CSV文件 df = pd.read_csv("your_file.csv") # 获取第二列的原始列名(索引从0开始,第二列对应索引1) target_col = df.columns[1] # 验证列名前缀后重命名 if target_col.startswith("QUESTION_1_"): df.rename(columns={target_col: "QUESTION_1"}, inplace=True)
方法二:匹配前缀批量处理(列位置不确定时用)
如果不确定目标列的位置,但明确列名以QUESTION_1开头,可以自动匹配所有符合条件的列并统一重命名:
import pandas as pd df = pd.read_csv("your_file.csv") # 生成重命名映射:所有以QUESTION_1开头的列都改为QUESTION_1 rename_map = {col: "QUESTION_1" for col in df.columns if col.startswith("QUESTION_1")} df.rename(columns=rename_map, inplace=True)
补充提示
- 代码中的
inplace=True会直接修改原DataFrame,若不想改动原数据,可去掉该参数并将结果赋值给新变量:new_df = df.rename(columns=...) - 如果CSV文件用制表符或其他符号分隔,需在
pd.read_csv中指定sep参数,比如制表符分隔用sep="\t"
内容的提问来源于stack exchange,提问作者Sebastian
相关产品推荐
相关产品推荐

