【发布时间】:2021-03-31 08:40:19
【问题描述】:
我有一个包含 actor_id 和 account_id 列的 Pandas 数据框。演员是一个人,而帐户只是一个帐户。因此,一个人可以拥有多个帐户,并且帐户可以拥有多个人。
我的目标是按 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。
【问题讨论】:
标签: python pandas pandas-groupby