我有一个黑色星期五销售的数据集。这些列是User_ID,Product_ID,性别,职业,Product_Category,购买,Marital_Status等。
在分析数据之后,我发现User_ID属性具有多余的条目(即,单个客户购买多种商品)。条目总数为537377,在应用df = df.groupby('User_ID')
之后,条目数量减少为5891。我想从pandas groupby对象中提取所有唯一行(即每个客户唯一行)。有什么办法吗?
我尝试汇总与唯一User_ID对应的每次购买金额,但这无济于事。
df = df.groupby('User_ID')
df['Purchase'].transform('sum')
for key, item in df:
print(df.get_group(key), "\n\n")
执行上述代码后,我得到的结果是:
User_ID Gender Age Occupation City_Category \
0 1000001 F 0-17 10 A
1 1000001 F 0-17 10 A
2 1000001 F 0-17 10 A
3 1000001 F 0-17 10 A
39180 1000001 F 0-17 10 A
4 1000002 M 55+ 16 C
39181 1000002 M 55+ 16 C
39182 1000002 M 55+ 16 C
39183 1000002 M 55+ 16 C
39184 1000002 M 55+ 16 C
78147 1000002 M 55+ 16 C
Product_Category_2 Product_Category_3 Purchase
0 0.0 0.0 8370
1 6.0 14.0 15200
2 0.0 0.0 1422
3 14.0 0.0 1057
39180 4.0 8.0 12842
4 0.0 0.0 7969
39181 17.0 0.0 6187
39182 16.0 0.0 10074
39183 8.0 14.0 5260
39184 16.0 0.0 7927
78147 16.0 0.0 7791
我真正想要的是在删除product_category_2之后,第3个是购买属性,其中包含花费的总金额
User_ID Gender Age Occupation City_Category Purchase
0 1000001 F 0-17 10 A 38891
1 1000002 M 55+ 16 C 37239