跳过首列将DataFrame数字列名修改为指定交替序列
修改DataFrame列名的解决方案
没问题,这就帮你搞定这个列名修改的需求!我们可以通过生成符合要求的新列名列表,再替换原DataFrame的列名来实现,步骤清晰又简单。
实现代码
import pandas as pd # 模拟你提供的原始DataFrame df = pd.DataFrame({ 'A': [11, 11], 0: [2, 2], 1: [3, 3], 2: [4, 4], 3: [5, 5], 4: [6, 6], 5: [7, 7] }) # 构建新的列名列表 new_columns = ['A'] # 保留第一列的名称 # 计算需要生成的整数对数量:原后续列数除以2 num_groups = (len(df.columns) - 1) // 2 # 循环生成1、1.1、2、2.2...这样的序列 for i in range(1, num_groups + 1): new_columns.extend([i, float(f"{i}.1")]) # 替换原DataFrame的列名 df.columns = new_columns # 查看结果 print(df)
代码解释
- 第一步先保留第一列
A的名称,作为新列名列表的起始元素; - 接着计算原DataFrame除第一列外的列数,除以2得到需要生成的整数分组数量(比如你例子里后续有6列,对应3组:1&1.1、2&2.2、3&3.3);
- 通过循环生成每组的两个列名,依次添加到新列名列表中;
- 最后把新列名赋值给
df.columns,完成列名替换。
运行结果
执行代码后,你会得到期望的DataFrame:
A 1 1.1 2 2.2 3 3.3 0 11 2 3 4 5 6 7 1 11 2 3 4 5 6 7
如果你的原DataFrame后续列数是奇数(比如5列),可以根据实际需求调整循环逻辑,比如最后单独添加一个整数列名~
内容的提问来源于stack exchange,提问作者Mamed
相关产品推荐
相关产品推荐

