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