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

Python Pandas如何实现带多条件的唯一值计数(类似COUNTIFS功能)

解决方案

以下分别提供Python Pandas和Excel两种场景的实现方法:

Python Pandas 实现

核心逻辑:先过滤满足B、C条件的行,再按A列分组统计每个标识符的符合条目数,最后筛选条目数等于2的标识符并计数。

import pandas as pd

# 示例数据构造,实际使用时替换为pd.read_csv/读入自己的数据集即可
df = pd.DataFrame({
    'Column A': [1001,1001,1001,1001,1002,1002,1002,1002,1003,1003,1003,1003],
    'Column B': [4,3,6,4,7,7,2,3,0,3,3,4],
    'Column C': [1,0,1,1,0,1,1,1,1,0,1,1]
})

# 1. 过滤B在2-4之间且C等于1的行
filtered_df = df[(df['Column B'].between(2,4)) & (df['Column C'] == 1)]
# 2. 按A列分组,统计每个A值对应的符合条件的行数
count_per_a = filtered_df.groupby('Column A').size()
# 3. 筛选行数恰好为2的A值,统计总数量
result = count_per_a[count_per_a == 2].count()

print(result)

Excel 实现

无需写代码的操作步骤:

  • 新增辅助列D,第一行数据的单元格输入公式 =AND(B2>=2,B2<=4,C2=1),下拉填充整列,返回TRUE代表该行符合基础条件
  • 插入数据透视表,行区域拖拽放入「Column A」字段,值区域拖拽放入「辅助列D」字段,值汇总方式设置为计数
  • 对透视表的计数字段做值筛选,仅保留计数等于2的项,透视表剩余的行数量就是最终结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:54:08