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

如何将DataFrame中同名字段的多列数据合并为对应行数据

以下是基于Python pandas库的实现方案:
如果仅需将1.name的值追加到0.name列末尾,可直接使用上下拼接方法:

# 将1.name列的值追加到0.name列下方
df['0.name'] = pd.concat([df['0.name'], df['1.name']], ignore_index=True)
# 如不需要保留原始1.name列,可执行删除操作
df = df.drop(columns=['1.name'])

如果需要批量处理所有带数字前缀的同名字段(比如同时处理0.name、1.name…27.name,以及0.age、1.age等其他同名字段),可通过列名分组批量拼接:

import pandas as pd

# 按实际字段名分组列名,拆分数字前缀和字段名
col_groups = {}
for col in df.columns:
    # 仅按第一个英文句号拆分,避免字段名本身带句号的场景出错
    prefix, field_name = col.split('.', maxsplit=1)
    col_groups.setdefault(field_name, []).append(col)

new_dfs = []
for field, cols in col_groups.items():
    # 将同字段的所有前缀列上下拼接,生成单字段的DataFrame
    field_series = pd.concat([df[col] for col in cols], ignore_index=True)
    new_dfs.append(field_series.to_frame(name=field))

# 横向拼接所有字段,得到最终规整后的DataFrame
final_df = pd.concat(new_dfs, axis=1)

如果拼接后需要去除空值,可以在concat方法后追加.dropna().reset_index(drop=True)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:06:05