Я просматриваю данные о короне из NY Times, которые можно найти здесь: https://raw.githubusercontent.com/nytimes/covid-19-data/master/us-counties.csv
И открыт для всех.
Набор данных настроен так:
df = pd.read_csv('https://raw.githubusercontent.com/nytimes/covid-19-data/master/us-counties.csv')
df2 = df.copy()
df2 = df2.set_index('date')
df2['cases_lagged'] = df2.groupby(['county', 'state'])['cases'].shift()
df2[df2['fips']== 34041.0].head(10)
Я надеялся, что смогу создать столбец скользящего среднего таким же образом, используя оператор groupby вместе с командой .rolling () из pandas для составления скользящей средней за 7 и 14 дней для данных, но она не работает.
Я пробовал это двумя разными способами:
#way 1
df2['moving_avg'] = df2.groupby(['county', 'state']).iloc[:4].rolling(window = 7).mean()
#way 2
df2['moving_avg'] = df2.groupby(['county', 'state'])['cases'].rolling(window = 7).mean()
И ни один из них здесь не работает.
Любые мысли о том, как составить скользящее среднее для каждого округа в каждом штате без необходимости разбивать каждый округ на свой собственный df для его работы? Спасибо