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

按门店与月份聚合布尔值:存在TRUE则返回TRUE的实现需求

分组汇总布尔值的实现方案

原始数据表格

MONTH_YEARSTORE_IDBOOLEAN
01/07/2022AFALSE
01/07/2022AFALSE
01/07/2022AFALSE
01/07/2022AFALSE
01/08/2022ATRUE
01/08/2022AFALSE
01/08/2022ATRUE
01/08/2022AFALSE
01/08/2022BTRUE
01/08/2022BTRUE
01/08/2022BTRUE
01/08/2022BFALSE

需求说明

按MONTH_YEAR和STORE_ID分组,每组内只要BOOLEAN列存在至少一个TRUE,则SUMMARY列返回TRUE;若全为FALSE,则返回FALSE。最终目标表格如下:

目标结果表格

MONTH_YEARSTORE_IDSUMMARY
01/07/2022AFALSE
01/08/2022ATRUE
01/08/2022BTRUE

实现方案

下面提供几种适合新手的常用工具实现方法:

方法1:Excel操作步骤

  1. 选中包含表头的原始数据区域
  2. 点击「数据」选项卡 → 「分类汇总」
  3. 在弹出对话框中设置:
    • 分类字段:依次添加MONTH_YEAR和STORE_ID
    • 汇总方式:选择「最大值」
    • 选定汇总项:勾选BOOLEAN
    • 勾选「替换当前分类汇总」和「汇总结果显示在数据下方」
  4. 点击确定后,汇总行的最大值即为SUMMARY值(Excel中TRUE等价于1,FALSE等价于0,最大值1对应TRUE,0对应FALSE)
  5. 整理汇总行即可得到目标表格

方法2:SQL语句

若数据存储在数据库中,执行以下查询语句:

SELECT 
    MONTH_YEAR,
    STORE_ID,
    MAX(BOOLEAN) AS SUMMARY
FROM 
    your_table_name
GROUP BY 
    MONTH_YEAR, STORE_ID;

说明:布尔值在SQL中通常以TRUE/FALSE或1/0存储,MAX()函数会返回组内的最大值,只要存在TRUE就会返回TRUE。

方法3:Python pandas库

用Python处理时,运行以下代码:

import pandas as pd

# 读取原始数据(可替换为你的数据路径或构造DataFrame的代码)
df = pd.read_csv('your_data.csv')

# 分组计算并整理结果
result_df = df.groupby(['MONTH_YEAR', 'STORE_ID'])['BOOLEAN'].max().reset_index()
result_df.rename(columns={'BOOLEAN': 'SUMMARY'}, inplace=True)

# 查看结果
print(result_df)

说明:groupby()按指定列分组,max()方法返回每组布尔值的最大值(即存在TRUE则返回TRUE),最后重命名列并重置索引得到目标表格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 22:10:31