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

带条件的分组唯一值统计:按周统计符合True的唯一ID数量

带条件的唯一ID分组统计解决方案

实现思路

先筛选出Y/N为True的有效记录,按周统计唯一ID数量,再补全所有出现过的周数并为无符合条件的周填充0,最后格式化结果展示。

代码实现(以Python Pandas为例)

首先构造样本数据:

import pandas as pd

# 构造样本数据集
data = {
    'Y/N': [True, True, False, False, True, False],
    'ID': ['AAA', 'BBB', 'CCC', 'AAA', 'BBB', 'BBB'],
    'WeekNum': [46, 46, 46, 47, 47, 48]
}
df = pd.DataFrame(data)

执行统计逻辑:

# 1. 筛选Y/N为True的行,按WeekNum分组统计唯一ID数量
true_unique_count = df[df['Y/N'] == True].groupby('WeekNum')['ID'].nunique()

# 2. 获取所有出现过的周数,补全缺失周并填充0
all_weeks = df['WeekNum'].unique()
result = true_unique_count.reindex(all_weeks, fill_value=0)

# 3. 格式化结果的列名与索引
result = result.reset_index()
result.columns = ['周数', '符合True的唯一ID数']
result['周数'] = 'Week ' + result['周数'].astype(str)

# 输出最终结果
print(result)

输出结果

执行后将得到预期表格:

周数符合True的唯一ID数
Week 462
Week 471
Week 480

关键步骤说明

  • df[df['Y/N'] == True]:精准过滤出符合条件的记录,排除无效数据干扰
  • groupby('WeekNum')['ID'].nunique():按周分组后统计唯一ID数量,nunique()确保ID去重统计
  • reindex(all_weeks, fill_value=0):用所有出现过的周数重新索引,为无符合条件的周自动填充0,保证所有周数都被包含

内容的提问来源于stack exchange,提问作者Libor Morávek

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 23:26:09