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

Python pandas如何修改DataFrame列名并将原列名作为首行值保留

问题说明

现有列名为A的DataFrame:

A
0  B
1  C
2  D

需要将原列名A作为新列N的首个元素,原有数据顺延,得到如下结构:

N
0  A
1  B
2  C
3  D

直接使用df.columns = ['N']仅能修改现有列的列名,不会对列内元素做增改,无法实现插入首行元素的效果。

符合pandas规范的实现方法

方法1:小数据量简洁写法

直接拼接原列名和列内值构造新DataFrame,可读性最高:

import pandas as pd

# 转换逻辑
new_df = pd.DataFrame({
    'N': [df.columns[0]] + df['A'].tolist()
})

方法2:大数据量高性能写法

用pd.concat拼接序列,避免将整列数据转为Python原生列表带来的性能损耗,更适配大规模数据集:

new_df = pd.concat(
    [pd.Series(df.columns[0], name='N'), df['A'].rename('N')],
    ignore_index=True
).to_frame()

两种写法执行后得到的结果完全匹配目标结构,均符合pandas官方编码规范。

内容的提问来源于stack exchange,提问作者Константин Прудников

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 14:40:01