如何用Pandas将DataFrame指定起始列重命名为t1、t2递增序列
Pandas批量重命名指定位置后的列名
针对你的需求,这里提供两种简洁的实现方式:
方法一:直接构造新列名列表
直接生成包含目标列名的列表,替换原DataFrame的列名:
# 提取原列名转为列表 original_columns = df.columns.tolist() # 保留前两列,对后续列生成t1、t2、t3...格式的名称 new_columns = original_columns[:2] + [f't{i+1}' for i in range(len(original_columns)-2)] # 赋值新列名 df.columns = new_columns
方法二:使用rename()函数配合字典映射
通过构造原列名与目标列名的映射字典,调用rename()完成批量修改:
# 生成重名字典:将从第3列开始的原列名映射为t1、t2... rename_mapping = { col: f't{i+1}' for i, col in enumerate(df.columns[2:]) } # 执行重命名(inplace=True直接修改原DataFrame,若不想修改可去掉该参数并赋值给新变量) df.rename(columns=rename_mapping, inplace=True)
如果不需要修改原DataFrame,可改为:
new_df = df.rename(columns=rename_mapping)
内容的提问来源于stack exchange,提问作者ah bon
相关产品推荐
相关产品推荐

