Einführung
Beim Datenanalyse ist es üblich, Datensätze zu finden, die nicht in der von uns gewünschten Weise angeordnet sind. Das Umformen von Daten bezieht sich auf den Prozess, wie Daten in Zeilen und Spalten organisiert werden. In diesem Lab werden wir einige der wichtigsten Methoden in Pandas zur Datenumformung untersuchen, einschließlich Pivot, Stack, Unstack, Melt, Kreuztabulationen, Zerteilen, Faktorisieren und Explodieren.
VM-Tipps
Nachdem die VM gestartet ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.
Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.
Wenn Sie während des Lernens Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.
Importieren von erforderlichen Bibliotheken und Erstellen eines DataFrames
Zunächst importieren wir die erforderlichen Bibliotheken und erstellen einen DataFrame für unsere Beispiele.
import pandas as pd
import numpy as np
## Create DataFrame
np.random.seed([3, 1415])
n = 20
cols = np.array(["key", "row", "item", "col"])
df = cols + pd.DataFrame((np.random.randint(5, size=(n, 4)) // [2, 1, 2, 1]).astype(str))
df.columns = cols
df = df.join(pd.DataFrame(np.random.rand(n, 2).round(2)).add_prefix("val"))
Drehen mit einfachen Aggregationen
Pivot ist eine der wichtigsten Methoden zur Datenumformung in Pandas. Es bietet eine Möglichkeit, Ihre Daten umzuwandeln, sodass Sie sie aus verschiedenen Perspektiven betrachten können.
## Pivot df mit der durchschnittlichen val0
df.pivot_table(values="val0", index="row", columns="col", aggfunc="mean", fill_value=0)
Drehen mit mehreren Aggregationen
Wir können auch mehrere Aggregationen in Pivot durchführen.
## Pivot df mit der durchschnittlichen und der Summe von val0
df.pivot_table(values="val0", index="row", columns="col", aggfunc=["mean", "sum"])
Kreuztabulationen
Die Kreuztabulation ist eine Methode, um das Verhältnis zwischen mehreren Variablen quantitativ zu analysieren.
## Kreuztabulation zwischen row und col
df.pivot_table(index="row", columns="col", fill_value=0, aggfunc="size")
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab "Data Reshaping With Pandas" abgeschlossen. Sie können in LabEx weitere Labs ausprobieren, um Ihre Fähigkeiten zu verbessern.