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

基于BlackFriday.csv计算客户属于City_Category=2的概率方法

嘿,我来帮你搞定这个概率计算的问题!针对BlackFriday.csv数据集里客户属于City_Category=2的概率,我们可以分两种场景来算,不过你问的是客户,所以重点放在唯一用户维度上,我一步步给你讲:

计算客户属于City_Category=2的概率

首先明确:这里的“客户”指的是唯一的User_ID(每个用户只统计一次),而非单条交易记录。不过我也会顺带提交易记录维度的计算方式,供你参考。

步骤1:准备环境与读取数据

我们用Python的pandas库来高效处理数据,先导入工具并读取数据集:

import pandas as pd

# 读取本地的BlackFriday.csv文件
df = pd.read_csv('BlackFriday.csv')

步骤2:提取唯一客户的城市类别

观察你给出的数据集节选可以发现,同一个User_ID对应的City_Category是固定的(比如用户1000001的所有记录都是City_Category=1),所以我们先提取每个唯一用户对应的城市类别:

# 去重,得到每个唯一用户的城市类别数据
unique_users = df[['User_ID', 'City_Category']].drop_duplicates()

步骤3:统计并计算概率

接下来统计属于City_Category=2的客户数量,除以总唯一客户数,就是我们要的概率:

# 计算总唯一客户数
total_customers = len(unique_users)

# 统计City_Category=2的客户数量
category_2_customers = len(unique_users[unique_users['City_Category'] == 2])

# 计算概率(保留4位小数更直观)
probability = category_2_customers / total_customers

print(f"客户属于City_Category=2的概率为: {probability:.4f}")

额外:基于交易记录的概率(可选)

如果想计算单条交易记录属于City_Category=2的比例,直接统计对应记录数除以总记录数即可:

# 总交易记录数
total_records = len(df)

# City_Category=2的交易记录数
category_2_records = len(df[df['City_Category'] == 2])

record_probability = category_2_records / total_records

print(f"交易记录属于City_Category=2的概率为: {record_probability:.4f}")

小提示

  • 如果你的数据集里City_Category是字符串类型(比如'A'/'B'/'C'),只需要把代码里的==2改成=='B'这类对应值就行。
  • 如果遇到同一个用户对应多个不同City_Category的异常数据,可能需要先处理这类情况(比如取出现次数最多的类别,或者根据业务规则选择)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:15:33