ÎncepețiÎncepe gratuit

Afișarea mediilor mobile

Este posibil să vizualizezi și mediile mobile ale valorilor din seria ta de timp. Aceasta este echivalentă cu „netezirea" datelor și poate fi deosebit de utilă atunci când seria de timp conține mult zgomot sau valori aberante. Pentru un DataFrame df, poți obține media mobilă a seriei de timp folosind comanda:

df_mean = df.rolling(window=12).mean()

Parametrul window trebuie setat în funcție de granularitatea seriei tale de timp. De exemplu, dacă seria conține date zilnice și dorești valori mobile pe parcursul unui an întreg, specifică parametrul ca window=365. În plus, este simplu să obții valori mobile și pentru alte metrici, cum ar fi abaterea standard (.std()) sau varianța (.var()).

Acest exercițiu face parte din cursul

Vizualizarea datelor de tip serie temporală în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Calculează media mobilă pe 52 de săptămâni a variabilei co2_levels și atribuie rezultatul variabilei ma.
  • Calculează abaterea standard mobilă pe 52 de săptămâni a variabilei co2_levels și atribuie rezultatul variabilei mstd.
  • Calculează limita superioară a seriei de timp, definită ca media mobilă + (2 * abaterea standard mobilă), și atribuie rezultatul variabilei ma[upper]. Similar, calculează limita inferioară ca media mobilă - (2 * abaterea standard mobilă) și atribuie rezultatul variabilei ma[lower].
  • Reprezintă grafic diagrama liniară a variabilei ma.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Compute the 52 weeks rolling mean of the co2_levels DataFrame
ma = ____.rolling(window=____).____()

# Compute the 52 weeks rolling standard deviation of the co2_levels DataFrame
mstd = ____

# Add the upper bound column to the ma DataFrame
ma['upper'] = ma['co2'] + (____ * ____)

# Add the lower bound column to the ma DataFrame
ma['lower'] = ma['co2'] - (____ * ____)

# Plot the content of the ma DataFrame
ax = ____(linewidth=0.8, fontsize=6)

# Specify labels, legend, and show the plot
ax.set_xlabel('Date', fontsize=10)
ax.set_ylabel('CO2 levels in Mauai Hawaii', fontsize=10)
ax.set_title('Rolling mean and variance of CO2 levels\nin Mauai Hawaii from 1958 to 2001', fontsize=10)
plt.show()
Editează și rulează codul