HOWTO · Pandas

Pivotieren Sie einen DataFrame in Pandas

Die Methode pivot() kann einen bestimmten DataFrame mithilfe der angegebenen Index- und Spaltenwerte neu anordnen. Diese Funktion erlaubt keine Datenaggregation; mehrere Werte bilden in den Spalten einen MultiIndex. Wir können die Spalte verwenden, um den Index für einen neuen Frame zu erstellen.

In diesem kurzen Artikel wird erläutert, wie ein DataFrame in Pandas geschwenkt wird.

Verwenden Sie die Funktion pivot(), um einen DataFrame in Pandas zu drehen

Ein bestimmter DataFrame kann mit der pivot()-Methode unter Verwendung bestimmter Index- und Spaltenwerte umgestaltet werden. Die Funktion pivot() unterstützt keine Datenaggregation; mehrere Werte erzeugen einen MultiIndex in den Spalten.

Verwendete Spalte, um den Index für einen neuen Frame zu erstellen. Die Pivot-Funktion erzeugt eine neue abgeleitete Tabelle aus einer gegebenen; wenn None, wird der vorhandene Index verwendet.

Die drei Argumente, die Pivot akzeptiert, sind index, columns und values. Als Wert muss für jeden Parameter ein Spaltenname aus der Originaltabelle angegeben werden.

Die Funktion pivot() generiert eine neue Tabelle mit eindeutigen Werten für die angegebenen Parameter als Zeilen- und Spaltenindizes. Die Zellenwerte der neuen Tabelle stammen aus der als Werteparameter angegebenen Spalte.

Beispielcode:

from collections import OrderedDict
from pandas import DataFrame
import pandas as pd
import numpy as np

table = OrderedDict(
    (
        ("ID", ["ID1", "ID2", "ID3", "ID4"]),
        ("Std", ["Harry", "Ron", "Daniel", "Kelvin"]),
        ("Subject", ["Maths", "English", "Maths", "English"]),
        ("Marks", ["70", "50", "70", "50"]),
    )
)
d = DataFrame(table)
display(d)

Ausgang:

Erstellen Sie einen Datenrahmen

Das folgende Beispiel zeigt den Subjektwert für jede Zeile in der ursprünglichen Tabelle, die in die neue Tabelle verschoben wurde, wobei ihre Zeile und Spalte der ID und dem Std ihrer ursprünglichen Zeile entsprechen. Die NaN-Werte werden in die Zellen der neuen Tabelle eingetragen, die mit keinem Eintrag der bestehenden übereinstimmen.

Beispielcode:

from collections import OrderedDict
from pandas import DataFrame
import pandas as pd
import numpy as np

table = OrderedDict(
    (
        ("ID", ["ID1", "ID1", "ID2", "ID2"]),
        ("Std", ["Harry", "Ron", "Daniel", "Kelvin"]),
        ("Subject", ["Maths", "English", "Maths", "English"]),
        ("Marks", ["70", "50", "70", "50"]),
    )
)
d = DataFrame(table)
display(d)
print("Pivoted table : ")
p = d.pivot(index="ID", columns="Std", values="Subject")
display(p)

Ausgang:

Schwenken Sie einen Datenrahmen