pandas
Lavorare con Time Series
Ricerca…
Creazione di serie temporali
Ecco come creare una semplice serie storica.
import pandas as pd
import numpy as np
# The number of sample to generate
nb_sample = 100
# Seeding to obtain a reproductible dataset
np.random.seed(0)
se = pd.Series(np.random.randint(0, 100, nb_sample),
index = pd.date_range(start = pd.to_datetime('2016-09-24'),
periods = nb_sample, freq='D'))
se.head(2)
# 2016-09-24 44
# 2016-09-25 47
se.tail(2)
# 2016-12-31 85
# 2017-01-01 48
Indicizzazione parziale delle stringhe
Un modo molto pratico per impostare sottoinsiemi di serie temporali consiste nell'utilizzare l' indicizzazione parziale delle stringhe . Permette di selezionare un intervallo di date con una sintassi chiara.
Ottenere dati
Stiamo utilizzando il set di dati nell'esempio Creazione di serie temporali
Visualizzazione di testa e coda per vedere i confini
se.head(2).append(se.tail(2))
# 2016-09-24 44
# 2016-09-25 47
# 2016-12-31 85
# 2017-01-01 48
subsetting
Ora possiamo sottogruppi per anno, mese, giorno in modo molto intuitivo.
Per anno
se['2017']
# 2017-01-01 48
Per mese
se['2017-01']
# 2017-01-01 48
Di giorno
se['2017-01-01']
# 48
Con un intervallo di anno, mese, giorno in base alle proprie esigenze.
se['2016-12-31':'2017-01-01']
# 2016-12-31 85
# 2017-01-01 48
panda fornisce anche una funzione truncate
dedicata per questo utilizzo attraverso i parametri after
e before
- ma penso che sia meno chiaro.
se.truncate(before='2017')
# 2017-01-01 48
se.truncate(before='2016-12-30', after='2016-12-31')
# 2016-12-30 13
# 2016-12-31 85
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow