我的数据框如下:
(cusid表示客户ID; product表示客户购买的产品id; count表示该产品的购买数量。)
cusid product count
1521 30 2
18984 99 1
25094 1 1
2363 36 1
3316 21 1
19249 228 1
13220 78 1
1226 79 4
1117 112 2
我想计算每个客户购买的每种产品的平均数量。 似乎需要在cusid中获得groupby产品,然后在count中获得groupby产品,然后获得均值。 我的预期输出:
product mean(count)
30
99
1
36
这是我的代码:
(df.groupby(['product','cusid']).mean().groupby('product')['count'].mean())
得到错误:
TypeError Traceback (most recent call last)
<ipython-input-43-0fac990bbd61> in <module>()
----> 1 (df.groupby(['product','cusid']).mean().groupby('product')['count'].mean())
TypeError: groupby() takes at least 3 arguments (2 given
不知道如何解决
答案 0 :(得分:0)
df.groupby(['cusid', 'product']).mean().reset_index().groupby('product')['count'].mean()
输出:
product
1 1
21 1
30 2
36 1
78 1
79 4
99 1
112 2
228 1
python版本:3.7.4
熊猫版本:0.25.0