Как рассчитать среднее количество в час?

1

У меня есть следующий DataFrame df и я хочу рассчитать среднее количество записей за час в течение года, сгруппированных по ВПП

year   month   day   hour    runway
2017   12      30    10      32L
2017   12      30    11      32L
2017   12      30    11      32L
2017   12      30    11      32L
2017   12      30    11      30R
2018   12      30    10      32L
2018   12      30    10      32L
2018   12      30    11      32L
2018   12      30    11      32L

Ожидаемый результат:

year   runway   avg. count per hour
2017   32L      2    
2017   30R      0.5        
2018   32L      2
2018   32L      0

Я пробовал это, но он не вычисляет среднее число в час:

result = df.groupby(['year','runway']).count()
Теги:
pandas

1 ответ

3
Лучший ответ

Здесь один из способов его достижения, т.е.

#Take the count of unique hours per year
s = df.groupby(['year'])['hour'].nunique()
# Take the count of the the runway
n = df.groupby(['year','runway']).size().reset_index()
# Divide them 
n['avg'] = n[0]/n['year'].map(s)

   year runway  0  avg
0  2017    30R  1  0.5
1  2017    32L  4  2.0
2  2018    32L  4  2.0

Ещё вопросы

Сообщество Overcoder
Наверх
Меню