Wie kann ich einen Datenrahmen drehen?
Was ist Pivot?
Pivotieren ist ein Datentransformationstechnik, mit der ein DataFrame durch Austauschen der Zeilen und Spalten umgeformt wird. Es wird häufig verwendet, um Daten so zu organisieren, dass sie einfacher zu analysieren oder zu visualisieren sind.
Wie führe ich eine Pivotierung durch?
Es gibt mehrere Möglichkeiten, einen DataFrame zu schwenken Python mit der Pandas-Bibliothek:
1. pd.DataFrame.pivot_table:
Diese Methode ist eine vielseitige und funktionsreiche Option zum Pivotieren von Daten. Hier können Sie die zu aggregierenden Werte, die Aggregationsfunktion sowie die Zeilen- und Spaltenindizes angeben.
Beispiel:
import pandas as pd # Create a sample DataFrame df = pd.DataFrame({ "row": ["row0", "row1", "row2", "row3", "row4"], "col": ["col0", "col1", "col2", "col3", "col4"], "val0": [0.81, 0.44, 0.77, 0.15, 0.81], "val1": [0.04, 0.07, 0.01, 0.59, 0.64] }) # Pivot the DataFrame using pivot_table df_pivoted = df.pivot_table( index="row", columns="col", values="val0", aggfunc="mean", ) print(df_pivoted) # Output: col0 col1 col2 col3 col4 row row0 0.77 0.445 0.000 0.860 0.650 row1 0.130 0.000 0.395 0.500 0.250 row2 0.000 0.310 0.000 0.545 0.000 row3 0.000 0.100 0.395 0.760 0.240 row4 0.000 0.000 0.000 0.000 0.000
2. pd.DataFrame.groupby pd.DataFrame.unstack:
Diese Methode beinhaltet das Gruppieren des DataFrame nach den gewünschten Zeilen- und Spaltenindizes und die anschließende Verwendung von Unstack zum Pivotieren der gruppierten Daten.
Beispiel:
# Group the DataFrame by row and col df_grouped = df.groupby(["row", "col"]) # Perform pivot using unstack df_pivoted = df_grouped["val0"].unstack(fill_value=0) print(df_pivoted) # Output: col col0 col1 col2 col3 col4 row row0 0.81 0.445 0.000 0.860 0.650 row1 0.130 0.000 0.395 0.500 0.250 row2 0.000 0.310 0.000 0.545 0.000 row3 0.000 0.100 0.395 0.760 0.240 row4 0.000 0.000 0.000 0.000 0.000
3. pd.DataFrame.set_index pd.DataFrame.unstack:
Diese Methode beinhaltet das Festlegen der gewünschten Zeilen- und Spaltenindizes als Index des DataFrames und die anschließende Verwendung von Unstack zum Pivotieren der Daten.
Beispiel:
# Set the row and col as the DataFrame's index df = df.set_index(["row", "col"]) # Perform pivot using unstack df_pivoted = df["val0"].unstack(fill_value=0) print(df_pivoted) # Output: col col0 col1 col2 col3 col4 row row0 0.81 0.445 0.000 0.860 0.650 row1 0.130 0.000 0.395 0.500 0.250 row2 0.000 0.310 0.000 0.545 0.000 row3 0.000 0.100 0.395 0.760 0.240 row4 0.000 0.000 0.000 0.000 0.000
4. pd.DataFrame.pivot:
Diese Methode bietet im Vergleich zu „pivot_table“ eine einfachere Syntax, verfügt jedoch über eingeschränkte Funktionalität. Sie können nur Zeilen- und Spaltenindizes angeben und keine Aggregation durchführen.
Beispiel:
# Perform pivot using pivot df_pivoted = df.pivot(index="row", columns="col") print(df_pivoted) # Output: col col0 col1 col2 col3 col4 row row0 key0 0.81 0.44 0.00 0.86 0.65 row1 key1 0.13 0.00 0.39 0.50 0.25 row2 key1 0.00 0.31 0.00 0.54 0.00 row3 key0 0.00 0.10 0.39 0.76 0.24 row4 key1 0.00 0.00 0.00 0.00 0.00
Langformat in Breitformat
So konvertieren Sie einen DataFrame vom Langformat ins Breitformat mit nur zwei Spalten:
1. pd.DataFrame.pivot(index=column_to_index, columns=column_to_columns, Values=values_to_pivot**):
Beispiel:
df["Combined"] = df["row"] + "|" + df["col"] df_pivoted = df.pivot(index="Combined", columns="A", values="B") print(df_pivoted) # Output: A a b c Combined row0|col0 0.0 10.0 7.0 row1|col1 11.0 10.0 NaN row2|col2 2.0 14.0 NaN row3|col3 11.0 NaN NaN row4|col4 NaN NaN NaN
2. pd.DataFrame.groupby pd.DataFrame.unstack:
df["Combined"] = df["row"] + "|" + df["col"] df_grouped = df.groupby(["Combined", "A"]) df_pivoted = df_grouped["B"].unstack(fill_value=0) print(df_pivoted) # Output: A a b c Combined row0|col0 0.0 10.0 7.0 row1|col1 11.0 10.0 NaN row2|col2 2.0 14.0 NaN row3|col3 11.0 NaN NaN row4|col4 NaN NaN NaN
Den Mehrfachindex nach dem Pivot auf einen einzelnen Index reduzieren:
df_pivoted.columns = df_pivoted.columns.map("|".join) print(df_pivoted) # Output: a|col0 b|col0 c|col0 a|col1 b|col1 c|col1 a|col2 b|col2 c|col2 a|col3 b|col3 c|col3 row row0 0.0 10.0 7.0 11.0 10.0 NaN 2.0 14.0 NaN 11.0 NaN NaN row1 0.0 10.0 7.0 11.0 10.0 NaN 2.0 14.0 NaN 11.0 NaN NaN
Das obige ist der detaillierte Inhalt vonWie kann ich einen Pandas-DataFrame in Python Pivotieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Die Gründe, warum Python -Skripte auf UNIX -Systemen nicht ausgeführt werden können, sind: 1) unzureichende Berechtigungen unter Verwendung von chmod xyour_script.py zur Erteilung von Ausführungsberechtigungen; 2) Falsche oder fehlende Shebang -Linie, Sie sollten #!/Usr/bin/envpython verwenden; 3) In falsche Einstellungen für die Umgebungsvariablen können Sie os.Environ -Debugging drucken. 4) Mit der falschen Python -Version können Sie die Version in der Shebang -Zeile oder der Befehlszeile angeben. 5) Abhängigkeitsprobleme unter Verwendung der virtuellen Umgebung, um Abhängigkeiten zu isolieren; 6) Syntaxfehler, verwenden Sie Python-Mpy_CompileYour_Script.py, um zu erkennen.

Die Verwendung von Python -Arrays eignet sich besser für die Verarbeitung großer Mengen von numerischen Daten als für Listen. 1) Arrays speichern mehr Speicher, 2) Arrays sind schneller nach numerischen Werten, 3) Konsistenz vom Arrays Kraftstyp, 4) Arrays sind mit C -Arrays kompatibel, sind jedoch nicht so flexibel und bequem wie Listen.

Listen besser voreflexibilität undmixdatatatypen, während Datensätze der überlegenen sumerischen Berechnungen sandlastete

NumpymanageMemoryforlargearrayseffictionlyusingViews, Kopien und Memory-Made.1) ViewsAllowsLicing Mit Outcopying, direktModifizierende Theoriginalarray.2) CopieScanbecreated withthecopy () methodeChoperingdata.3) Memory-Maddscanbeed-medellessive-made-mapedFileshandleshandLessive-massessive-massessiva

ListsinpythondonotRequireMportingamodule, whilearRays aus der FROMTHEARRAYMODULEDONEDANIMIMPORT.1) listet zur Verfügung gestellt.

PythonlistscanstoreanyDatatype, ArrayModulearraysStoreOnetype und NumpyarraysarefornumericalComputations.1) listet dieArversatile-memory-effizient.2) Arraymodulenarraysalememory-effizientforhomogeneData.3) Numpharraysareoptional-EffictionhomogenInData.3) nummodulenarraysoptionalinformanceIntata.3) nummodulearraysoptionalinformanceIntata.3) NumpharraysareoPresopplowancalinScesDataa.3) NumpharraysoePerformance

Wenn SietostoreavalueOfThewrongdatatypeinapythonarray, touencounteratypeerror.Thissisdustuetothearraymodules -SstrictTypeNeen -Forcortion, welche

PythonlistsarePartThestandardlibrary, whilearraysarenot.listarebuilt-in, vielseitig und UNDUSEDFORSPORINGECollections, während dieArrayRay-thearrayModulei und loses und loses und losesaluseduetolimitedFunctionality.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor
