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