Python中文
首页
教程
问答
标签
搜索
登录
注册
如何在python中按多个列分组
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我想根据用户ID、日期、类别(每天使用的频率)、每个类别的最大持续时间以及一天中使用最多的部分,将数据帧按不同列进行分组,最后将结果存储在.csv文件中</p> <pre><code>name duration UserId category part_of_day Date Settings 3.436 1 System tool evening 2020-09-10 Calendar 2.167 1 Calendar night 2020-09-11 Calendar 5.705 1 Calendar night 2020-09-11 Messages 7.907 1 Phone_and_SMS night 2020-09-11 Instagram 50.285 9 Social night 2020-09-28 Drive 30.260 9 Productivity night 2020-09-28 df.groupby(["UserId", "Date","category"])["category"].count() </code></pre> <p>我的代码结果是:</p> <pre><code> UserId Date category 1 2020-09-10 System tool 1 2020-09-11 Calendar 8 Clock 2 Communication 86 Health & Fitness 5 </code></pre> <p>但是我想要这个结果</p> <pre><code> UserId Date category count(category) max-duration 1 2020-09-10 System tool 1 3 2020-09-11 Calendar 2 5 2 2020-09-28 Social 1 50 Productivity 1 30 </code></pre> <p>我该怎么做?我找不到任何解决方案想要的结果</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>使用<code>agg</code>:</p> <pre><code>df.groupby(["UserId", "Date","category"]).agg({'category':'count', 'Date': np.ptp}) </code></pre> <p>或者用<code>lambda x: x.max() - x.min()</code>替换<code>np.ptp</code></p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何合并多个PDF文件?
7 回答
如何合并多个xarray数据变量及其坐标?
4 回答
如何合并多个列中具有重复值的行
10 回答
如何合并多个唯一id
8 回答
如何合并多个图纸并使用图纸名称的名称重命名列名?
6 回答
如何合并多个字典并添加同一个键的值?(Python)
9 回答
如何合并多个搜索结果文件(pkl)以将它们全部打印在一起?
1 回答
如何合并多个数据帧
4 回答
如何合并多个数据帧并使用Pandas为假人添加列?
2 回答
如何合并多个数据帧并按时间戳排序
1 回答
如何合并多个数据帧的列表并用另一个lis标记每列
4 回答
如何合并多个数据框中的列
3 回答
如何合并多个文件?
7 回答
如何合并多个查询集?
8 回答
如何合并多个绘图?
3 回答
如何合并多个词典
1 回答
如何合并多个输入数据集(数据帧)?
3 回答
如何合并多条记录中拆分的文本行
6 回答
如何合并多索引列datafram
1 回答
如何合并多级(即多索引)数据帧?
3 回答