如何在Pandas中自动将DataFrame列重命名为column_1至column_240?
重命名DataFrame列名:从0-239到column_1至column_240
下面是几种简单高效的实现方式:
方法一:直接生成新列名列表赋值
这是最简洁的方式,通过列表推导式生成目标列名,直接替换原列名:
import pandas as pd # 假设你的DataFrame对象为df df.columns = [f'column_{num}' for num in range(1, 241)]
这里range(1,241)直接生成1到240的整数,和前缀拼接后正好匹配需求。
方法二:用rename方法做字典映射
如果需要明确的新旧列名映射关系,可使用rename方法,通过字典完成替换:
# 生成旧列名(0-239)到新列名的映射字典 rename_dict = {old: f'column_{old+1}' for old in range(240)} df = df.rename(columns=rename_dict)
这种方式适合后续需要保留映射关系的场景,或者只修改部分列名的情况(这里是全量修改)。
方法三:先加前缀再调整数字(可选)
如果需要基于原列名做批量调整,也可以先添加前缀,再修正数字部分:
# 先给所有列名添加前缀"column_",此时列名为column_0到column_239 df.columns = df.columns.add_prefix('column_') # 将数字部分加1,替换成column_1到column_240 df.columns = df.columns.str.replace(r'column_(\d+)', lambda x: f'column_{int(x.group(1))+1}', regex=True)
这种方法相对繁琐,更适合列名结构复杂的批量修改场景。
内容的提问来源于stack exchange,提问作者tiber septim
相关产品推荐
相关产品推荐

