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

如何规整学生GPA数据?解决groupby+ffill后丢失Name列的问题

解决学生GPA数据合并及保留Name列的问题
  • 问题根源:使用groupby('Name')后直接执行ffill(),Name会被设为分组索引,而非普通数据列,导致后续结果中看不到该列。

  • 修复方案一:填充后重置索引恢复Name列

df2 = df.groupby('Name').ffill().reset_index()
  • 修复方案二:针对不同场景的高效写法

    • 如果每个学生的各学期GPA仅存在一条非NaN记录,直接取每组的非NaN值即可:
      df2 = df.groupby('Name').first().reset_index()
      
    • 如果同一学生同一学期有多条有效GPA记录,可改用聚合函数保留所有有效值:
      df2 = df.groupby('Name').agg(lambda x: x.dropna().tolist()).reset_index()
      
  • 效果验证:执行上述代码后,Name列会被保留为普通数据列,同一学生的所有学期GPA将合并到同一行,NaN值被正确填充或整合。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 08:34:54