You need to enable JavaScript to run this app. 如何使用Pandas的get_group获取除指定分组外的所有分组数据
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Pandas的get_group获取除指定分组外的所有分组数据

pandas反向选取分组的实现方法

pandas 内置的 get_group 方法仅支持选取指定分组的内容,没有直接提供反选分组的参数,你可以通过以下几种方式实现需求:

  • 方法1:遍历分组键排除目标值后拼接
    如果你已经完成了分组操作,可以直接遍历分组的键值,排除不需要的分组后合并结果,示例代码如下:
import pandas as pd

# 示例数据
df = pd.DataFrame({
    "category": ["A", "B", "C", "A", "B", "C"],
    "value": [1, 2, 3, 4, 5, 6]
})
# 已创建的分组对象
gb = df.groupby("category")
# 要排除的分组值
exclude_key = "A"

# 筛选出除exclude_key外的所有分组并合并
result = pd.concat(
    [gb.get_group(key) for key in gb.groups if key != exclude_key],
    ignore_index=True
)
  • 方法2:使用filter方法直接过滤分组
    基于分组对象的filter方法可以更简洁的实现需求,无需手动遍历拼接:
# 接上面的示例变量
result = gb.filter(lambda g: g.name != exclude_key)
  • 方法3:分组前预先过滤(性能最优)
    如果还未创建分组对象,直接先过滤原DataFrame再做后续操作即可,逻辑更直观,性能也更高:
# 排除单个分组
result = df[df["category"] != exclude_key]
# 排除多个分组可使用isin判断
result = df[~df["category"].isin(["A", "B"])]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 19:06:04