pandas
Travailler avec des séries chronologiques
Recherche…
Création de séries chronologiques
Voici comment créer une série chronologique simple.
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
Indexation partielle des chaînes
Une manière très pratique de sous-définir les séries temporelles consiste à utiliser l’indexation partielle des chaînes . Il permet de sélectionner une plage de dates avec une syntaxe claire.
Obtenir des données
Nous utilisons le jeu de données dans l'exemple Création de séries chronologiques
Afficher la tête et la queue pour voir les limites
se.head(2).append(se.tail(2))
# 2016-09-24 44
# 2016-09-25 47
# 2016-12-31 85
# 2017-01-01 48
Sous-location
Maintenant, nous pouvons sous-estimer par année, par mois ou par jour de manière très intuitive.
Par année
se['2017']
# 2017-01-01 48
Par mois
se['2017-01']
# 2017-01-01 48
De jour
se['2017-01-01']
# 48
Avec une gamme d'année, de mois, de jour selon vos besoins.
se['2016-12-31':'2017-01-01']
# 2016-12-31 85
# 2017-01-01 48
Les pandas fournissent également une fonction de truncate
dédiée pour cet usage via les paramètres after
and before
- mais je pense que c'est moins clair.
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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow