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

如何使用Python的Pandas合并含重叠列的千行DataFrame?

解决Pandas合并重叠行的方案

假设你的DataFrame存在同一主体(如唯一ID)的行,各列数据互补缺失,我们可以通过以下步骤实现类似Excel示例的合并效果:

步骤1:构造示例数据(模拟你的Excel结构)

先模拟带有缺失值的重叠行场景:

import pandas as pd
import numpy as np

df = pd.DataFrame({
    'ID': [1,1,2,2],
    '姓名': ['张三', np.nan, '李四', np.nan],
    '年龄': [np.nan, 25, np.nan, 30],
    '城市': ['北京', np.nan, np.nan, '上海']
})

步骤2:分组合并非空值

如果有明确的分组标识列(如ID),按标识分组后提取每组的非空值:

# 按ID分组,合并每组内的非空数据
merged_df = df.groupby('ID', as_index=False).agg(lambda x: x.dropna().iloc[0] if not x.dropna().empty else np.nan)

如果没有明确标识列,仅靠列数据重叠互补,可以通过前后填充+去重实现:

# 先向后、向前填充缺失值,再去除重复行
merged_df = df.bfill().ffill().drop_duplicates()

验证合并结果

打印结果查看效果:

print(merged_df)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 23:05:26