Datenumformung mit Pandas

PythonPythonBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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.