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

Pandas GroupBy能否将目标值单独分组,其余归为‘其他’组?

目标值单独分组+其余归为Other的聚合方案

针对你需求的简洁Pythonic实现,用pandas可以直接通过分组列的转换来完成,无需拆分合并数据集:

步骤1:构造示例数据

import pandas as pd

df = pd.DataFrame({
    'Col-1': ['A', 'A', 'B', 'B', 'C'],
    'Col-2': [2, 3, 1, 4, 7]
})

方法1:新增分组列后聚合(直观易懂)

用numpy.where快速替换非目标值为Other,再分组求和:

import numpy as np

# 生成分组标识
df['Group'] = np.where(df['Col-1'] == 'A', 'A', 'Other')
# 分组聚合
result = df.groupby('Group')['Col-2'].sum()

方法2:直接在groupby中转换(更简洁,无需新增列)

利用apply或mask直接在分组逻辑里处理,一步到位:

# 方式A:lambda表达式
result = df.groupby(df['Col-1'].apply(lambda x: x if x == 'A' else 'Other'))['Col-2'].sum()

# 方式B:pd.Series.mask
result = df.groupby(df['Col-1'].mask(df['Col-1'] != 'A', 'Other'))['Col-2'].sum()

最终输出结果

无论哪种方法,都会得到:

Group
A        5
Other    12
Name: Col-2, dtype: int64

这些方法通过直接转换分组维度,避免了拆分合并的繁琐操作,完全符合Pythonic的简洁高效原则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 17:54:56