pandas
Werken met Time Series
Zoeken…
Tijdreeksen maken
Hier ziet u hoe u een eenvoudige tijdreeks kunt maken.
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
Gedeeltelijke tekenreeksindexering
Een zeer handige manier om Time Series te subsetten is om gedeeltelijke stringindexering te gebruiken. Hiermee kunt u een datumbereik met een duidelijke syntaxis selecteren.
Gegevens ophalen
We gebruiken de gegevensset in het voorbeeld Tijdreeks creëren
Kop en staart tonen om de grenzen te zien
se.head(2).append(se.tail(2))
# 2016-09-24 44
# 2016-09-25 47
# 2016-12-31 85
# 2017-01-01 48
deelverzameling
Nu kunnen we zeer intuïtief op jaar, maand en dag subsetten.
Per jaar
se['2017']
# 2017-01-01 48
Bij maand
se['2017-01']
# 2017-01-01 48
Bij dag
se['2017-01-01']
# 48
Met een bereik van jaar, maand, dag volgens uw behoeften.
se['2016-12-31':'2017-01-01']
# 2016-12-31 85
# 2017-01-01 48
panda's biedt ook een speciale truncate
functie voor dit gebruik door de parameters after
en before
- maar ik denk dat het minder duidelijk is.
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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow