[PYTHON] [Anmerkung] Pandas entstapeln

TL;DR

Unstack war nützlich, um die MultiIndex-Serie besser sichtbar zu machen.

Gruppe nach Nachbearbeitung

DataFrame von Pandas hat den Index MultiIndex, wenn Sie in mehreren Spalten "Gruppieren nach" ausführen. Ich bin ein wenig verstopft, um zu verarbeiten, also werde ich schreiben, was ich als Erinnerung getan habe.

Umgebung

Hier,

Ich renne weiter.

Datenaufbereitung

Zum Beispiel, wenn Sie die folgenden Daten haben:

import datetime
import random
import pandas as pd

item_list = ['A', 'A', 'A', 'B', 'C','C', 'D']
data_records = []
ts = datetime.datetime.now()
for _ in range(1000):
    ts += datetime.timedelta(seconds=random.randint(200, 3600))
    data_records.append({
        'ts': ts,
        'wday': ts.weekday(),
        'item': random.choice(item_list),
        'qty': random.randint(1, 5)
    })
df = pd.DataFrame(data_records)

Als df Screenshot from 2020-10-10 00-35-09.png Sie sollten so etwas bekommen.

Hier,

Stellen Sie sich so etwas wie ein Protokoll einer EC-Site vor.

Was du machen willst

Angenommen, Sie möchten sehen, wie viele Artikel sich pro Tag insgesamt verkaufen. Eigentlich ist es normal, den Zeitraum mit "ts" anzugeben, aber abgesehen davon denke ich, dass Sie Folgendes tun werden.

df.groupby(['wday', 'item']).qty.sum()

Dann bekommen Sie so etwas: Screenshot from 2020-10-10 00-40-42.png Es ist nicht schlecht, aber es ist auch schwer zu sehen. Wenn Sie hier "entstapeln",

df.groupby(['wday', 'item']).qty.sum().unstack()

Screenshot from 2020-10-10 00-42-01.png ist geworden.

Referenz

Weitere Informationen finden Sie unter Pandas Official Document.

Recommended Posts

[Anmerkung] Pandas entstapeln
[Tipps] Meine Pandas-Notiz
Memo
Pandas
Memo
Django Note 4
Pandas Memo
pyenv note
Pandas Grundlagen
Pandas Notizen
Hinweis: Python
Memorandum of Pandas
Pandas Grundlagen
Python-Notiz
Django Note 1
Pandas Memorandum
Django Note 3
pandas SettingWithCopyWarning
[Hinweis] RepresenterError
Beachten Sie, dass sich die Spezifikationen von Pandas loc geändert haben.
(Hinweis) Grundlegende Statistiken zu Python und Pandas unter IBM DSX