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