SchwarzerWolf.cc

Python 3.7 | Pandas Beispiel mit Zeitserien (Time Series) und Gruppenoperationen (Group operations)

Hier mal ein kleines Beispiel, wie leicht es ist, mit Pandas Daten umzugestalten. Benutzt wird dafür ‘pivot_table’. Der W01f hat dafür die IPython Konsole benutzt.

Laden der Module

import numpy as np
import pandas as pd

from pandas.tseries.offsets import MonthEnd

Kategorien vorbereiten

cats = ['food', 'body_care', 'tickets', 'family']
cat_list = [np.random.choice(cats) for ix in range(100)]

DataFrame erstellen

df = pd.DataFrame({
    'category': cat_list,
    'amount': [np.random.randint(1, 10) for ix in range(100)]
}, index=pd.date_range('2018-01-01', periods=100))

Index umbenennen

df.index.name = 'Date'

Die ersten 10 Zeilen anzeigen

df.head(10)
Category Amount
Date
2018-01-01 body_care 8
2018-01-02 family 2
2018-01-03 tickets 5
2018-01-04 body_care 4
2018-01-05 food 4
2018-01-06 family 1
2018-01-07 family 1
2018-01-08 food 1
2018-01-09 family 1
2018-01-10 ticket 1

Gruppenoperation

df2 = df.pivot_table('amount', 
                     index=end.rollforward, 
                     columns='category', 
                     aggfunc='sum')

Resultat

df2
category body_care family food tickets
2018-01-31 36 24 39 36
2018-02-28 46 18 28 74
2018-03-31 46 42 43 17
2018-04-30 5 8 19 6

[2019-31-01] - In | Out entfernt, Einige Überschriften hinzugefügt.

Veröffentlicht 17. Oktober 2018 05:02 von W01f