如何在Python Pandas中进行分组,排序和限制? (即获得前10名)

时间:2018-05-23 17:01:23

标签: python pandas pandas-groupby

我有一个Pandas数据框,其中包含actor_id和account_id列。演员是一个人,帐户只是一个帐户。因此,一个人可以拥有多个帐户,而帐户可以拥有多个人。

我的目标是按actor_id进行分组,然后根据他们拥有的帐户数量对actor_ids进行排名,这样我就可以获得帐户数最多的前10名参与者的列表。

在SQL中,它将类似于SELECT actor_id,account_id,COUNT(account_id)GROUP BY actor_id LIMIT 10.但我试图在Python中执行此操作。

我引用了这个Pandas group and sort by index count,但它对我不起作用。以下是我尝试过的代码。

df['count'] = df['actor_id'].map(df['account_id'].value_counts())
df.sort_index('count', ascending=False)

数据集如下所示: Dataset

在图片中,将project_id替换为account_id。

0 个答案:

没有答案