Zum Hauptinhalt springen

Wie führe ich unpivot in Pandas aus

Wenn Sie mit Daten in einer Pandas-Bibliothek arbeiten, sind Sie wahrscheinlich auf eine Situation gestoßen, in der Sie Daten von einem "breiten" Format in ein "langes" Format konvertieren müssen. Dies kann beispielsweise bei der Analyse von Zeitreihen erforderlich sein, wenn wir Spaltenwerte in Zeilen konvertieren müssen.

Eine Möglichkeit, dies zu tun, besteht darin, die "unpivot" -Methode zu verwenden. Sie können Daten konvertieren, indem Sie die Spaltenwerte in eine neue Spalte einfügen und entsprechende Spalten erstellen, um sie zu identifizieren. Dadurch wird jede Zeile der Quelltabelle in mehrere Zeilen in der neuen Tabelle umgewandelt, wodurch sie einfacher zu analysieren und zu visualisieren ist.

In diesem Anfängerleitfaden werden wir uns ansehen, wie unpivot in der Pandas-Bibliothek ausgeführt wird. Wir werden verschiedene Möglichkeiten untersuchen, Daten mit den Methoden melt und pivot von einem "breiten" in ein "langes" Format zu konvertieren. Sie werden auch lernen, wie jede dieser Methoden funktioniert und wie Sie die für Ihre spezifische Aufgabe am besten geeignete auswählen können.

Was ist unpivot in der Pandas-Bibliothek?

Unpivot kann in verschiedenen Datenanalyseszenarien nützlich sein. Wenn Sie beispielsweise eine Tabelle mit mehreren Spalten haben, in der jede Spalte eine Kategorie darstellt und die Werte für jede Kategorie als separate Spalten dargestellt werden, können Sie mit unpivot diese Tabelle in ein langes Format konvertieren, wobei jede Zeile eine Kombination aus Kategorie und Wert darstellt.

Sie können die melt() -Methode verwenden, um unpivot in der Pandas-Bibliothek auszuführen. Es nimmt eine Datentabelle und Parameter an, die angeben, welche Spalten für IDs verwendet werden sollen und welche Spalten in ein langes Format konvertiert werden sollen.

idvariablevalue
1value110
1value220
1wert330

Wenn Sie die melt() -Methode auf eine Datentabelle mit einer ID-Spalte und Wertespalten anwenden, wird jede Datenzeile für jede Wertspalte in eine separate Zeile in der resultierenden Tabelle konvertiert, wobei in der variable-Spalte der Name der Wertspalte angegeben wird und in der value-Spalte der entsprechende Wert angegeben wird.

Abschnitt 1: Vorbereiten der Daten

Bevor Sie einen Unpivot-Vorgang in der Pandas-Bibliothek ausführen, müssen Sie die Daten ordnungsgemäß vorbereiten. In diesem Abschnitt werden die grundlegenden Schritte zum Vorbereiten von Daten für die Ausführung von unpivot erläutert.

  1. Herunterladen von Daten: mit der Funktion read_csv() können Sie Daten aus CSV-Dateien laden, die Funktion read_excel() aus Excel-Dateien und die Funktion read_sql() aus der Datenbank laden.
  2. Fehlende Werte beseitigen: Wenn fehlende Werte in den Daten vorhanden sind, müssen Sie sie beispielsweise mit der Funktion dropna() oder fillna() bearbeiten.
  3. Daten filtern: bei Bedarf können Sie die Daten mithilfe der Funktionen query() oder loc filtern[].
  4. Sortieren von Daten: Die Daten können mithilfe der Funktion sort_values() nach einer oder mehreren Spalten sortiert werden.
  5. Duplikate entfernen: Wenn doppelte Zeilen in den Daten vorhanden sind, können Sie sie mit der Funktion drop_duplicates() löschen.
  6. Datentypkonvertierung: Spalten können bei Bedarf mit der Funktion astype() in den gewünschten Datentyp umgewandelt werden.
  7. Neue Spalten hinzufügen: Sie können mit der Funktion assign() neue Spalten hinzufügen.
  8. Gruppieren von Daten: Mit der Funktion groupby() können Sie Daten nach einer oder mehreren Spalten gruppieren.

Bei jedem dieser Schritte müssen Sie auf die Besonderheiten der Daten und die Anforderungen für die weitere Verarbeitung achten.

Wie importiere ich die Pandas-Bibliothek und lade die Daten hoch?

Um die Pandas-Bibliothek zu verwenden, müssen Sie sie in Ihr Projekt importieren. Dazu können Sie den folgenden Befehl verwenden:

import pandas as pd

Jetzt können Sie alle Funktionen und Methoden verwenden, die von der Pandas-Bibliothek bereitgestellt werden.

Nachdem Sie die Pandas-Bibliothek importiert haben, können Sie Daten aus verschiedenen Quellen wie CSV-Dateien, Excel-Dateien, Datenbanken und mehr herunterladen. Eine der häufigsten Methoden zum Laden von Daten ist die Verwendung der read_csv-Funktion, mit der Sie Daten aus CSV-Dateien laden können.

Hier ist ein Beispiel für die Verwendung der read_csv- Funktion, um Daten aus einer CSV-Datei zu laden:

data = pd.read_csv('file.csv')

Die read_csv-Funktion nimmt den Pfad zur CSV-Datei an und gibt ein DataFrame-Objekt zurück, das die geladenen Daten enthält. Sie können dieses Objekt einer Variablen zuweisen, um Zugriff auf die Daten zur weiteren Verarbeitung und Analyse zu haben.

Wenn Sie eine Excel-Datei haben, können Sie die Funktion read_excel verwenden, um Daten daraus zu laden:

data = pd.read_excel('file.xlsx')

Die read_excel-Funktion nimmt den Pfad zur Excel-Datei an und gibt ein DataFrame-Objekt zurück, ebenso wie read_csv .

Wenn Sie Daten aus einer anderen Quelle haben, können Sie in der Dokumentation der Pandas-Bibliothek nach Informationen zum Herunterladen dieser Daten suchen.

FunktionDie Beschreibung
read_csvDaten aus einer CSV-Datei laden
read_excelDaten aus einer Excel-Datei laden
read_sqlLaden von Daten aus der Datenbank mithilfe einer SQL-Abfrage
read_jsonDaten aus einer JSON-Datei laden
read_htmlDaten von einer HTML-Seite laden

Verwenden Sie diese Funktionen, um Daten hochzuladen und mit ihnen in der Pandas-Bibliothek zu arbeiten.

Abschnitt 2: Was ist unpivot und warum wird es benötigt?

Warum brauchen wir unpivot? Erstens können Sie breite Tabellen, die viele Spalten mit Merkmalen haben, in lange Tabellen mit einer einzelnen Merkmalsspalte konvertieren. Dies kann nützlich sein, wenn wir eine Analyse durchführen oder Operationen mit Daten durchführen müssen, die sie in einem bestimmten Format strukturieren müssen.

Zweitens können Sie mit unpivot mehrere Tabellen mit unterschiedlichen Merkmalen derselben Objekte zu einer einzigen Tabelle zusammenführen. Dies vereinfacht die Datenanalyse und sorgt für ein einheitliches Speicherformat.

Schließlich kann unpivot bei der Vorbereitung von Daten für die Visualisierung nützlich sein. Viele Datenvisualisierungstools erwarten, dass die Daten in einem bestimmten Format dargestellt werden, und mit unpivot können Sie die Daten in das richtige Format bringen, um Diagramme und Diagramme zu erstellen.

Unpivot ist also ein leistungsfähiges Datenkonvertierungstool, mit dem wir das Tabellenformat ändern und die Daten für die Arbeit und Analyse bequemer machen können.

Wie konvertiert man Daten von einem breiten Format in ein langes Format?

In der Pandas-Bibliothek können Sie eine Methode verwenden, um einen unpivot-Vorgang auszuführen, der Daten aus einem breiten Format in ein langes Format konvertiert pd.melt().

Die Konvertierung von Daten aus einem breiten Format in ein langes Format erfolgt mithilfe einer Methode pd.melt(). Mit dieser Methode können Sie Daten "schmelzen", indem Sie die Spaltenwerte in neue Zeilen konvertieren und sie in einer Spalte zusammenführen, die die ursprünglichen Spaltennamen enthält.

Beispiel für die Verwendung der Methode pd.melt() so konvertieren Sie Daten von einem breiten Format in ein langes Format:

import pandas as pd# Создаем исходные данные в широком форматеdata = df = pd.DataFrame(data)# Используем метод pd.melt() для преобразования данных в длинный форматdf_melted = pd.melt(df, id_vars=['Номер', 'Имя'], value_vars=['Возраст', 'Город'], var_name='Параметр', value_name='Значение')print(df_melted)

Wenn Sie diesen Code ausführen, erhalten Sie den folgenden Dataframe:

 Номер Имя Параметр Значение0 1 Алиса Возраст 251 2 Боб Возраст 302 3 Кэрол Возраст 353 1 Алиса Город Москва4 2 Боб Город Лондон5 3 Кэрол Город Нью-Йорк

Wie Sie im Beispiel sehen können, wurden die Daten aus einem breiten Format konvertiert, in dem jede Variable durch eine separate Spalte dargestellt wird, in ein langes Format, in dem die Variablen Alter und Stadt in der Spalte Parameter und ihre Werte in der Spalte Wert kombiniert werden.

Daher ist die Methode pd.melt() ermöglicht die effiziente Konvertierung von Daten aus einem breiten Format in ein langes Format in der Pandas-Bibliothek.

Abschnitt 3: Wie führe ich unpivot mit der Melt-Funktion aus?

Mit der Melt-Funktion in der Pandas-Bibliothek können Sie eine Unpivot-Operation durchführen, dh ein breites Datenformat in ein langes Format konvertieren. Dies kann nützlich sein, wenn Sie die Anordnung von Variablen in Spalten in die Anordnung von Variablen in Zeilen ändern müssen.

Um die Melt-Funktion zu verwenden, müssen Sie den ursprünglichen DataFrame an sie übergeben und die Spalten angeben, die Sie unverändert lassen möchten (IDs) sowie die Spalten, die Sie erweitern möchten (Wertespalten).

Hier ist ein einfaches Beispiel:

import pandas as pddata = df = pd.DataFrame(data)print("Исходный DataFrame:")print(df)df_melted = pd.melt(df, id_vars=['id'], value_vars=['value_1', 'value_2'])print("Результат после выполнения unpivot:")print(df_melted)

In diesem Beispiel haben wir einen ursprünglichen DataFrame, der die Spalte 'id' und zwei Spalten mit den Daten 'value_1' und 'value_2' enthält. Wir verwenden die Melt-Funktion, um die Quelldaten in ein langes Format zu konvertieren, wobei die Werte aus den Spalten 'value_1' und 'value_2' zu Werten in der neuen Spalte 'value' werden und die entsprechenden 'id'-Werte für sie kopiert werden. Das Ergebnis wird im neuen df_melted-DataFrame gespeichert.

Sie können das Ergebnis der unpivot-Ausführung in der letzten Zeile sehen, in der die Werte erweitert und in die neue Spalte 'value' kopiert wurden und die Werte in der Spalte 'id' für jeden Wert beibehalten wurden.

Mit der melt-Funktion können Sie auch die Namen der Quellspalten anpassen und andere Spalten speichern, die nicht in id_vars oder value_vars angegeben sind. Dies ist sehr praktisch, wenn Sie andere Daten speichern müssen, z. B. beschreibende Spalten. Sie können die entsprechenden Parameter festlegen: var_name und value_name.

Hier ist ein Beispiel mit den Einstellungen var_name und value_name:

df_melted_custom = pd.melt(df, id_vars=['id'], value_vars=['value_1', 'value_2'], var_name='variable', value_name='custom_name')print("Результат после выполнения unpivot с настройками:")print(df_melted_custom)

In diesem Beispiel haben wir die Parameter var_name='variable' und value_name='custom_name' verwendet, um die Namen der Spalten zu ändern, die als Ergebnis von unpivot erstellt wurden.

Jetzt haben Sie alle notwendigen Kenntnisse, um unpivot mit der Melt-Funktion in der Pandas-Bibliothek auszuführen. Wenden Sie diese Funktion an, wenn Sie ein breites Datenformat in ein langes Format konvertieren oder den Spaltennamen als Ergebnis von unpivot anpassen müssen.