#python #pandas #matplotlib
#python #pandas #matplotlib
Вопрос:
Я ищу документацию или учебное пособие по созданию 7-дневной скользящей средней из временных рядов из Pandas на Python и визуализации ее в Matplotlib.
Вот мой код:
import pandas as pd
import matplotlib.pyplot as plt
from datetime import datetime, timedelta
plt.style.use('seaborn-poster')
url = 'https://raw.githubusercontent.com/mariorz/covid19-mx-time-series/master/data/covid19_confirmed_mx.csv'
df = pd.read_csv(url, index_col=0)
df = df.loc['Colima','18-03-2020':'12-08-2020']
df = pd.DataFrame(df)
df.index = pd.to_datetime(df.index, format='%d-%m-%Y')
fig, ax = plt.subplots()
ax.plot(df)
ax.set_ylabel('Casos positivos', fontsize=10)
ax.set_title('Casos positivos acumulados de COVID-19 en Colima (12 de agosto, 2020)', fontsize=10)
plt.xticks(rotation=30)
plt.savefig('positivos_registro.png', dpi=500)
Ответ №1:
Вы можете использовать .rolling() для вычисления скользящих средних, например:
df.rolling(window=7).mean()
Rolling()
также есть аргумент center=True
для вычисления окна по центру посередине. Затем он выглядит на 3 дня вперед и на 3 дня назад, когда ваше окно равно 7.
Значение по умолчанию равно center=False
. Он просто возвращает значение текущего дня 6 значений дня, когда окно равно 7.