Панды означают одни и те же элементы

Я работаю с пандами, и у меня есть список между 1949 и 1960 годами, с месяцами (с января по декабрь) и связанным с каждым месяцем числом (людей). Месяцы указаны в столбце A, количество людей в столбце B. Я хотел бы рассчитать среднее количество людей за каждый месяц и определить месяц с максимальным количеством людей за период времени.

Как я могу это сделать ? У меня была идея использовать скользящее среднее, но я хотел убедиться, что есть более простой способ сделать это, прежде чем слишком увлекаться этим.

Он организован как:

nf = 
A     B

Jan   3
Feb   5
...  ...
Jan   4
Feb   1
...  ...
Jan   0
Feb   9
...  ...


person Nihilum    schedule 30.09.2020    source источник


Ответы (2)


Вы можете выполнить эту задачу, используя метод groupby():

nf.groupby(['A'],as_index=false).mean()
person adir abargil    schedule 30.09.2020

Вы можете сделать это следующим образом:

df = nf.groupby('A').mean()

Это даст вам среднее значение за каждый месяц. Затем вы можете отсортировать результаты:

df.sort_values(by=['B'], ascending = False)
person gtomer    schedule 30.09.2020