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

如何在Pandas中实现分组合并(groupby)与填充操作?

解决方案

你可以通过以下步骤完成字段填充,直接整合到分组逻辑或对合并后的结果处理均可:

方法一:合并后统一处理

  1. 先重置分组后生成的多级索引,将分组列还原为普通列:
data_updated = data_updated.reset_index(drop=True)
  1. 对Date、Name、Book使用向前填充(ffill)补全空值,同一分组内这些字段值一致,向前填充即可补全缺失行:
data_updated[['Date', 'Name', 'Book']] = data_updated[['Date', 'Name', 'Book']].ffill()
  1. 将Course字段的空值填充为0:
data_updated['Course'] = data_updated['Course'].fillna(0)

方法二:整合到分组逻辑中

直接在groupby的apply函数内完成合并与填充,避免后续额外处理:

def merge_and_fill(group):
    merged = pd.merge(group, Likeliness, how='outer')
    # 填充分组内的Date、Name、Book字段
    merged[['Date', 'Name', 'Book']] = merged[['Date', 'Name', 'Book']].ffill()
    # 将Course字段空值填充为0
    merged['Course'] = merged['Course'].fillna(0)
    return merged

data_updated = DF.groupby(['Date','Name','Book', 'Course'], group_keys=False).apply(merge_and_fill)

添加group_keys=False可避免生成冗余的分组索引,让结果结构更简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 11:27:02