#python #pandas #dataframe
#python #панды #фрейм данных
Вопрос:
У меня есть следующий код, который в качестве текущего принимает среднее количество людей на посещение в неделю.
df = information.groupby(pd.Grouper(freq='W')).mean('people')
Как бы мне изменить это, чтобы вместо того, чтобы брать среднее число за посещение, я беру среднее количество посетителей в день за каждую неделю.
Пример df
date people
2012-01-02 20:00:00 x
2012-01-02 20:00:00 x
2012-01-03 16:00:00 x
2012-01-03 10:00:00 x
2012-01-03 20:00:00 x
2012-01-04 20:00:00 x
...
И я хочу, чтобы вывод df напоминал
week avergeperday
2012-01-02 x
2012-01-09 x
2012-01-16 x
2012-01-23 x
2012-01-30 x
...
Ответ №1:
Может быть, две группы:
(information.groupby(pd.Grouper(freq='D')).size()
.groupby(pd.Grouper(freq='W')).mean()
)
Или, если people
это количество людей, приходящих в то время:
(information.groupby(pd.Grouper(freq='D'))['people'].sum()
.groupby(pd.Grouper(freq='W')).mean()
)