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

如何在Pandas DataFrame中按symptoms和recovery分组获取period列表?

解决方案

你的思路偏差在于使用了groupby().size(),这个方法仅用于统计每组的行数,无法实现收集period列表的需求。正确的做法是对分组后的period列使用list进行聚合,具体代码如下:

# 按symptoms和recovery分组,收集对应period为列表
df_result = df.groupby(["symptoms", "recovery"])["period"].apply(list).reset_index()

代码说明

  • groupby(["symptoms", "recovery"]):以symptoms和recovery的组合作为分组依据
  • ["period"].apply(list):对每个分组中的period列,将所有值整理为列表
  • reset_index():将分组后的多级索引转换为普通列,得到结构规整的DataFrame

运行后你会得到包含所有symptoms+recovery组合的结果,其中就包含你示例中的两组:

symptomsrecoveryperiod
52[1, 2, 3, 4]
84[2, 4]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 04:00:52