我有一个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)
在图片中,将project_id替换为account_id。