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

如何从原DataFrame中提取满足groupby筛选条件的整行数据

实现代码

你可以直接从原DataFrame中提取m1中值为True的索引对应的行,写法和你现有的删除逻辑高度对应:

target_df = df.loc[m1[m1].index]

如果想要更直观的布尔索引写法,也可以先把m1的索引对齐到原DataFrame的全量行:

# 把m1的索引扩展到和原df一致,非分组最后一行的位置默认填充False
mask = m1.reindex(df.index, fill_value=False)
target_df = df[mask]

逻辑说明

  • 你生成的m1本身是只包含每个id分组最后一行的布尔序列,值为True的项就对应你要提取的目标行,索引和原DataFrame的对应行完全匹配
  • 第一种写法直接复用你原有逻辑里的m1[m1].index取目标行索引,不需要额外处理,和你之前的删除逻辑完全对应,便于维护
  • 第二种写法对齐索引后得到全量布尔掩码,可读性更高,后续如果需要叠加其他过滤条件也更方便

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:15:03