python - Pandas groupby 错误:groupby() 至少需要 3 个参数(给定 2 个)
问题描述
我的数据框如下:
(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
不知道如何解决
解决方案
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
推荐阅读
- ios - Xcode 10 - 获取单元测试日志文件
- android - 播放视频数小时后,设备 ActivityManagerService 报告“内存不足”
- python - Python 有效电话号码
- r - R - 读取水平排列的 csv 文件,替换值并再次保存
- regex - 使用双引号组合在正则表达式中捕获数据
- google-apps-script - 在循环 Google 表格中创建第二个循环
- android - 我在 android studio 中加载小部件时遇到问题
- npm - Yarn - 工作区 - Lerna - 我无法使用工作区功能添加我的包
- dart - Flutter admob show() 方法重新构建“/”页面
- r - R IGraph 是在有向网络中计算无向最短路径吗?