pandas
Mit Zeitreihen arbeiten
Suche…
Zeitreihen erstellen
So erstellen Sie eine einfache Zeitreihe.
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
Teilweise String-Indizierung
Eine sehr praktische Methode für die Teilmenge von Zeitreihen ist die teilweise Indizierung von Strings . Es erlaubt die Auswahl von Datumsbereichen mit einer klaren Syntax.
Daten abrufen
Wir verwenden den Datensatz im Beispiel zum Erstellen von Zeitreihen
Kopf und Schwanz werden angezeigt, um die Grenzen zu sehen
se.head(2).append(se.tail(2))
# 2016-09-24 44
# 2016-09-25 47
# 2016-12-31 85
# 2017-01-01 48
Subsetting
Jetzt können wir ganz intuitiv nach Jahr, Monat und Tag unterteilen.
Pro Jahr
se['2017']
# 2017-01-01 48
Nach Monaten
se['2017-01']
# 2017-01-01 48
Am tag
se['2017-01-01']
# 48
Mit einer Auswahl von Jahr, Monat und Tag entsprechend Ihren Bedürfnissen.
se['2016-12-31':'2017-01-01']
# 2016-12-31 85
# 2017-01-01 48
pandas bietet auch eine dedizierte truncate
Funktion für diese Verwendung durch die after
und before
Parameter - aber ich denke, es ist weniger klar.
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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow