У меня есть кадр данных 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.
Я ссылался на эту группу панд и сортировал по индексу , но у меня это не сработало.Ниже приведен код, который я пробовал.
df['count'] = df['actor_id'].map(df['account_id'].value_counts())
df.sort_index('count', ascending=False)
Набор данных выглядит следующим образом:
На рисунке замените project_id на account_id.