Как сделать это лучше в Pandas: подсчитать, удалить столбцы, удалить дубликаты - PullRequest
0 голосов
/ 07 декабря 2018

Это моя недавно повседневная вещь, где я имею дело с df со многими столбцами, включая эти два столбца: user и event.Я считаю число event для каждого user, добавляю новый столбец count к исходному df.Тогда я сохраняю user и count только там, где есть несколько одинаковых строк, затем делаю drop_duplicates(), чтобы удалить дубликаты и, таким образом, получить событие count для каждого user.Я уверен, что делаю лишнюю работу.

Каким был бы элегантный способ выполнять такие задачи.

df['count'] = df.groupby('user')['event'].transform('count')
df = df[['user','count']]
df = df.drop_duplicates()
plt.bar(x=df['user'], height=df['count'])

1 Ответ

0 голосов
/ 07 декабря 2018

Используйте GroupBy.count для Series, а затем позвоните Series.plot.bar:

df.groupby('user')['event'].count().plot.bar()
...