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

在pandas中删除原始列并将首行设为新列的方法

实现方案

针对拆分后的三个DataFrame,要替换原始自动列标签为第一行数据,可按以下步骤操作:

1. 封装通用处理函数

把重复逻辑写成函数,方便批量处理三个DataFrame:

def reset_df_columns(df):
    # 将第一行数据设为新列名
    df.columns = df.iloc[0].tolist()
    # 删除已作为列名的原第一行
    df = df.drop(df.index[0])
    # 重置行索引(可选,按需保留)
    df = df.reset_index(drop=True)
    return df

2. 拆分并处理数据

先完成原始数据拆分,再用函数处理每个子DataFrame:

# 拆分原始数据
yr_20 = watch_nums.iloc[:, :8]
yr_21 = watch_nums.iloc[:, 8:16]
yr_22 = watch_nums.iloc[:, 17:25]

# 应用列名重置逻辑
yr_20 = reset_df_columns(yr_20)
yr_21 = reset_df_columns(yr_21)
yr_22 = reset_df_columns(yr_22)

关键步骤说明

  • 用df.iloc[0].tolist()提取第一行数据,直接赋值给df.columns完成列名替换,替代原自动生成的列标签
  • drop(df.index[0])删除已转为列名的第一行数据,避免数据冗余
  • reset_index(drop=True)用于清除原始行索引,让新DataFrame的索引从0开始连续编号,不需要的话可以删除该行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 17:40:00