如何用Python查找订单数据中与红葡萄酒最常共同购买的商品
解决方法
实现逻辑分3步:
- 筛选出所有包含红葡萄酒的订单编号
- 取出这些订单中的所有商品,排除红葡萄酒本身
- 对剩余商品做频次统计,按倒序排列即可得到目标结果
完整可运行代码:
import pandas as pd # 构造示例数据 df_orders = pd.DataFrame( {'Order':[300,300,301,301,301,302,302,303,303], 'Item':['Red wine','Chicken chop','Red wine', 'Hawaiian Pizza','Garden Salad','Chicken chop', 'Mineral Water','Garden Salad','Red wine']}) # 1. 获取所有包含红葡萄酒的订单号 red_wine_order_ids = df_orders.loc[df_orders['Item'] == 'Red wine', 'Order'].unique() # 2. 筛选这些订单的商品,排除红葡萄酒本身 related_items = df_orders[df_orders['Order'].isin(red_wine_order_ids) & (df_orders['Item'] != 'Red wine')] # 3. 统计频次排序 result = related_items['Item'].value_counts().reset_index(name='共同下单次数') print(result)
运行输出结果:
Item 共同下单次数 0 Garden Salad 2 1 Chicken chop 1 2 Hawaiian Pizza 1
内容的提问来源于stack exchange,提问作者izzyk000
相关产品推荐
相关产品推荐

