API · Pandas
Pandas DataFrame DataFrame.transpose()-Funktion
Die Pandas DataFrame transpose()-Funktion ändert die Zeilen des DataFrame in die Spalten und umgekehrt.
Auf dieser Seite
Verwenden Sie DataFrame.transpose(), um die Zeilen und Spalten eines pandas-DataFrame zu vertauschen. Der zurückgegebene DataFrame verwendet die ursprünglichen Zeilenbeschriftungen als Spaltenbeschriftungen und die ursprünglichen Spaltenbeschriftungen als Zeilenbeschriftungen.
Syntax von DataFrame.transpose()
Rufen Sie die Methode für das Objekt auf, das Sie transponieren möchten: df.transpose(). Sie gibt einen transponierten DataFrame zurück; das ursprüngliche Objekt bleibt unter df verfügbar.
Diese Anleitung behandelt den Aufruf ohne Argumente; versionsspezifische Optionen bleiben außen vor.
Beispiel: Einen DataFrame mit DataFrame.transpose() transponieren
Dieses Beispiel erstellt eine kleine Tabelle mit Namen von Studierenden, Anwesenheit und erzielten Punkten. Nach dem Aufruf wird jede ursprüngliche Spalte zu einer Zeile und jede ursprüngliche Indexbeschriftung zu einer Spalte.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Obtained Marks": [90, 75, 82, 64, 45],
}
)
transposed = dataframe.transpose()
print(transposed)
Anhand der Beschriftungen lässt sich die Richtung des Austauschs leichter prüfen: Attendance, Name und Obtained Marks bezeichnen die Zeilen im Ergebnis, während 0 bis 4 dessen Spalten bezeichnen.
Einen DataFrame mit homogenen Datentypen transponieren
Wenn jede Spalte Ganzzahlen enthält, hat die Eingabe einen einheitlichen Wertetyp. Transponieren Sie sie und prüfen Sie beide Sätze von Spaltendatentypen, um zu sehen, wie dieses Beispiel in Ihrer pandas-Umgebung dargestellt wird.
import pandas as pd
dataframe = pd.DataFrame(
{
"A": [6, 20, 80, 78, 95],
"B": [60, 50, 7, 67, 54],
}
)
transposed = dataframe.transpose()
print("Original values:")
print(dataframe)
print("Transposed values:")
print(transposed)
print("Original dtypes:")
print(dataframe.dtypes)
print("Transposed dtypes:")
print(transposed.dtypes)
Diese Eingabe hat fünf Zeilen mit den Beschriftungen 0 bis 4 und zwei Spalten, A und B. Das Ergebnis hat daher zwei Zeilen und fünf Spalten. Prüfen Sie die angezeigten Datentypinformationen für genau diese Eingabe, statt anzunehmen, dass jeder numerische DataFrame nach dem Transponieren denselben Datentyp hat; das Verhalten kann von den Werten und der verwendeten Datentypdarstellung abhängen.
Einen DataFrame mit gemischten Datentypen transponieren
Ein DataFrame kann Spalten mit unterschiedlichen Datentypen enthalten. Hier enthalten zwei Spalten Zahlen und eine Namen. Der Code zeigt die Werte und Datentypen vor und nach der Operation, damit Sie das Ergebnis für diese Eingabe prüfen können.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Obtained Marks": [90, 75, 82, 64, 45],
}
)
transposed = dataframe.transpose()
print("Original values:")
print(dataframe)
print("Transposed values:")
print(transposed)
print("Original dtypes:")
print(dataframe.dtypes)
print("Transposed dtypes:")
print(transposed.dtypes)
Jede transponierte Zeile kombiniert Werte aus einer ursprünglichen Spalte. Da diese Zeilen sowohl Zeichenfolgen als auch Zahlen enthalten, sollten Sie die resultierenden Datentypen prüfen, statt das gemischte Beispiel als allgemeingültige Regel für alle pandas-Versionen oder Datentyp-Systeme zu betrachten. Die Methode ändert die Achsen; sie vereinheitlicht nicht die unterschiedlichen Quellspalten vor dem Transponieren.