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

Pandas groupby设置dropna=False后apply输出缺失NaN行问题咨询

问题原因

这是 pandas 1.3.0~1.3.2 版本的已知bug,和你使用的numpy版本无关。
你设置的dropna=False参数已经正常生效,所以调整lambda打印分组时可以看到b列为NaN的分组确实被处理了。问题出在apply执行完成后合并多组返回结果的环节:该版本区间的pandas在合并分组结果时,错误过滤了分组键为NaN的分组的返回内容,最终导致结果缺失了所有b列为NaN的行。

解决方案
  • 方案一(推荐):将pandas升级到1.3.3及以上版本,该bug已经被官方修复,你的原代码在更高版本中运行即可得到和预期完全一致的结果。
  • 方案二(临时规避,无需升级):手动拼接所有分组的返回结果,示例代码如下:
groups = [group for _, group in df.groupby("b", dropna=False)]
df_again = pd.concat(groups)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 05:00:00