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