Я смотрю статистику годовой статистики бейсбола и хочу рассчитать скользящее среднее, оглядываясь назад на предыдущие 3 года работы по количеству хитов. Тем не менее, я хочу объяснить, что, хотя мой набор данных достигает более трех лет, один одиночный игрок может быть только в лиге на 1-2 года и не будет иметь 3-х летних наблюдений, из которых я могу вычислить среднее значение прокатки. Например:Как пользоваться скользящим средним Pandas без гарантированного количества наблюдений
In[6]: df = pd.DataFrame({'PLAYER_ID': ['A', 'A', 'A', 'B', 'B'],
'HITS': [45, 55, 50, 20, 24]})
In[9]: df
Out[9]:
PLAYER_ID HITS
0 A 45
1 A 55
2 A 50
3 B 20
4 B 24
Как бы я использую GroupBy и агрегацию/преобразование (или какой-либо другой процесс), чтобы вычислить качению означает для каждого игрока с более 3 лет исторические итоги, а затем просто использовать максимальную доступную исторические наблюдения за игроком с историческими данными за период менее трех лет?
Довольно уверен, что мой ответ лежит в пакете Pandas, но будет интересоваться любым решением.
Спасибо!
Вы уверены, что скользящее среднее на самом деле то, что вы хотите? Имея только один-три наблюдения за игроком, эти данные слишком скудны, чтобы среднее значение прокачки было особенно значимым. –
Он был годовым для простоты объяснения. Я буду делать это на данных уровня игры вместе с некоторыми другими вещами. – Alt182
Какова ваша [частота дискретизации] (http://pandas.pydata.org/pandas-docs/stable/timeseries.html#resampling)? –