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

使用Pandas将DataFrame前两行对应列值合并为一行的实现方法

解决方案

实现思路

直接提取前两行逐列用下划线拼接,再和第三行及之后的原始数据组合为新的DataFrame即可,无需使用groupby。

完整代码

import pandas as pd

# 如果你是从csv读取数据,记得加header=None避免把第一行数据识别为表头
# df = pd.read_csv("你的文件路径.csv", header=None, sep='\s+')

# 构造测试用的原始df,对应你给出的样例数据
df = pd.DataFrame([
    ["hello", "hi", "ok", "bye"],
    ["q122", "q222", "q422", "q222"],
    ["hi", "hi", "hi", "hi"]
])

# 前两行逐列拼接
new_first_row = df.iloc[0] + "_" + df.iloc[1]
# 拼接后的数据和第三行及之后的原始数据合并,ignore_index重置行号
new_df = pd.concat([pd.DataFrame([new_first_row]), df.iloc[2:]], ignore_index=True)

# 输出验证结果
print(new_df)

输出结果

0        1        2         3
0  hello_q122  hi_q222  ok_q422  bye_q222
1          hi       hi       hi        hi

如果你需要把拼接后的第一行设置为列名,额外加两行代码即可:

new_df.columns = new_df.iloc[0]
new_df = new_df[1:].reset_index(drop=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 04:54:03