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

Pandas中使用Groupby、aggregate按条件筛选并新增聚合结果列的方法

实现方案

以下是基于Python Pandas库的实现方案,针对表格类数据的分组聚合过滤场景适用性最高:

核心逻辑

  1. 按Country列分组,对每个分组的Number列求和
  2. 将分组求和结果广播到对应分组的每一行,生成result列
  3. 过滤掉result值小于2的所有行,得到最终结果

可运行代码示例

import pandas as pd

# 构造示例数据集,实际使用时可替换为读表语句(如pd.read_csv())
data = {
    'Country': ['India', 'India', 'India', 'India', 'Germany', 'Germany', 'Germany', 'Japan', 'Japan'],
    'Number': [1, 0, 2, 0, 1, 0, 0, 2, 0],
    'bool': ['yes', 'no', 'no', 'yes', 'no', 'no', 'yes', 'yes', 'yes']
}
df = pd.DataFrame(data)

# 核心处理代码
df['result'] = df.groupby('Country')['Number'].transform('sum')
result_df = df[df['result'] >= 2].reset_index(drop=True)

# 打印输出验证结果
print(result_df)

代码说明

  • groupby('Country')['Number'].transform('sum'):会将每个国家的Number列求和结果直接赋值给该国家对应的每一行数据,无需手动做映射匹配
  • 最后通过布尔索引过滤掉求和结果小于2的分组(示例中德国求和结果为1,会被直接过滤)
  • reset_index(drop=True)用于重置结果的行索引,不需要的话可以省略

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 19:36:02