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

Pandas中将列名转为首行并添加新列头的实现问题

解决方法

要实现将原列名作为首行插入、其余行下移且不丢失数据的需求,可按以下步骤操作:

  1. 将原列名转为单行数据:把DataFrame的列名转换成一个单行的临时DataFrame,确保结构与原DataFrame一致。
  2. 拼接数据:将临时的列名行与原DataFrame纵向拼接,把列名行放在最前面。
  3. 修改列名:将新DataFrame的列名替换为目标名称。
  4. 重置索引:确保索引连续无重复。

完整代码示例

import numpy as np
import pandas as pd

# 生成原始DataFrame
df = pd.DataFrame(np.random.randint(0,3,size=(3, 4)), columns=list('1234'))

# 把原列名转为单行DataFrame
header_df = pd.DataFrame([df.columns.values], columns=df.columns)

# 拼接列名行与原数据,ignore_index=True重置索引
df_updated = pd.concat([header_df, df], ignore_index=True)

# 修改列名为目标值
df_updated.columns = ["A", "B", "C", "D"]

print(df_updated)

输出结果

A  B  C  D
0  1  2  3  4
1  1  1  0  1
2  2  1  1  1
3  0  0  1  2

说明

你之前的代码仅修改了列名,没有将原列名作为行插入到数据中,因此无法得到期望结果。上述方法通过拼接操作补充了首行的列名数据,同时完整保留了所有原始行数据。

内容的提问来源于stack exchange,提问作者Saad Hasan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 18:40:45