首页 > 解决方案 > 与 Seaborn 一起分发

问题描述

我有一个这样组成的熊猫数据框:

用户身份 来电 指数
7A 8 19-05-2020
10B 5 19-05-2020
7A 2 20-05-2020
10B 6 20-05-2020

在索引中,他们拨打电话的日期和时间即使在这里我把它放在右边,熊猫说日期是左边的索引。

我想对用户在一年中拨打的电话数量进行分布。

目前有超过 400 个不同的用户,所以我不会只对那些我很容易找到的呼叫数量最多的用户进行所有操作:ret.groupby(['user_id'])['calls'].sum().sort_values(ascending=False).head(10)

我尝试创建一个循环,将呼叫次数最多的前 10 个用户分配给一年中的呼叫分布(因此我们在 x 轴上将一年中的月份以数字或不写成数字,在 y-轴密度或呼叫次数,我们将有一个标题来说明我们制作图表的用户)

我该怎么做?

标签: pythonpandasseaborn

解决方案


尝试这样的事情,首先您按“呼叫”列排序,然后保留前 10 行

ret = ret.groupby(['user_id'])['calls'].sum().sort_values(ascending=False, by=['calls'])
ret = ret.iloc[:10]

推荐阅读