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

如何统计数据集内A={Onion}与B={Kidney Beans,Eggs}的出现次数

统计实现方案(Python pandas环境为例)

假设你的数据集为购物篮类数据集,每行对应一条交易记录,记录中的商品以逗号分隔存储:

  • 第一步:导入依赖并加载数据集
import pandas as pd
# 替换为你的实际数据集路径
df = pd.read_csv("dataset.csv")
# 假设存储商品的列名为items,可根据实际字段名修改
  • 第二步:定义目标统计集合
set_a = {"Onion"}
set_b = {"Kidney Beans", "Eggs"}
  • 第三步:编写匹配统计逻辑
    集合的出现次数统计规则为:单条交易记录包含集合内所有元素时,计为1次有效出现
def is_contain(target: set, item_str: str) -> bool:
    # 将每行的商品字符串转为集合后判断子集关系
    transaction_items = set([i.strip() for i in item_str.split(",")])
    return target.issubset(transaction_items)

# 统计集合A出现总次数
count_a = df["items"].apply(lambda x: is_contain(set_a, x)).sum()
# 统计集合B出现总次数
count_b = df["items"].apply(lambda x: is_contain(set_b, x)).sum()
  • 第四步:查看统计结果
print(f"集合A(Onion)总出现次数:{count_a}")
print(f"集合B(Kidney Beans+Eggs同时出现)总次数:{count_b}")

补充:若需统计集合B内单个元素各自的出现次数

# 统计Kidney Beans单独出现次数
count_kidney = df["items"].apply(lambda x: "Kidney Beans" in x).sum()
# 统计Eggs单独出现次数
count_eggs = df["items"].apply(lambda x: "Eggs" in x).sum()

其他实现方案(SQL环境为例)

假设交易数据存储在transaction表中,存储商品的字段为items:

  • 统计集合A出现次数
SELECT COUNT(*) AS count_a FROM transaction 
WHERE items LIKE '%Onion%';
  • 统计集合B(同时包含两个元素)出现次数
SELECT COUNT(*) AS count_b FROM transaction 
WHERE items LIKE '%Kidney Beans%' AND items LIKE '%Eggs%';

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 20:45:07