HOWTO · Pandas
Wie man die Reihenfolge der Pandas DataFrame-Spalten ändert
Dieses Tutorial demonstriert, wie man die Reihenfolge der DataFrame-Spalten ändert, indem man insert, re_index und new list verwendet.
Wir stellen vor, wie man die Reihenfolge der DataFrame-Spalten ändert, mit verschiedenen Methoden, wie z. B. die Zuweisung der Spaltennamen in der gewünschten Reihenfolge, durch die Verwendung von insert und reindex.
Spalten in der neu gewünschten Reihenfolge in Pandas auflisten
Der einfachste Weg ist die Neuzuweisung des DataFrame mit einer Liste der Spalten, oder indem wir einfach die Spaltennamen in der von uns gewünschten Reihenfolge zuweisen:
# python 3.x
import pandas as pd
df = pd.DataFrame(
{
"a": ["1", "2", "3", "4"],
"b": [16, 7, 6, 16],
"c": [61, 57, 16, 36],
"d": ["12", "22", "13", "44"],
"e": ["Green", "Red", "Blue", "Yellow"],
"f": [1, 11, 23, 66],
}
)
print(df)
df = df[["e", "c", "b", "f", "d", "a"]]
print("Rearranging ..................")
print("..............................")
print(df)
Ausgabe:
a b c d e f
0 1 16 61 12 Green 1
1 2 7 57 22 Red 11
2 3 6 16 13 Blue 23
3 4 16 36 44 Yellow 66
Rearranging ..................
..............................
e c b f d a
0 Green 61 16 1 12 1
1 Red 57 7 11 22 2
2 Blue 16 6 23 13 3
3 Yellow 36 16 66 44 4
Einfügen einer neuen Spalte mit der spezifischen Position in Pandas
Wenn wir eine neue Spalte erstellen, können wir sie an beliebiger Stelle einfügen:
# python 3.x
import pandas as pd
df = pd.DataFrame(
{
"a": ["1", "2", "3", "4"],
"b": [16, 7, 6, 16],
"c": [61, 57, 16, 36],
"d": ["12", "22", "13", "44"],
"e": ["Green", "Red", "Blue", "Yellow"],
"f": [1, 11, 23, 66],
}
)
print(df)
print("Inserting ..................")
print("..............................")
df.insert(0, "newColMean", df.mean(1))
print(df)
Ausgabe:
newColMean a b c d e f
0 26.000000 1 16 61 12 Green 1
1 25.000000 2 7 57 22 Red 11
2 15.000000 3 6 16 13 Blue 23
3 39.333333 4 16 36 44 Yellow 66
Spalte reindizieren für gegebene Ordnung in Pandas
Der reindex ist wohl der effizienteste Weg, die Spalte neu anzuordnen:
# python 3.x
import pandas as pd
df = pd.DataFrame(
{
"a": ["1", "2", "3", "4"],
"b": [16, 7, 6, 16],
"c": [61, 57, 16, 36],
"d": ["12", "22", "13", "44"],
"e": ["Green", "Red", "Blue", "Yellow"],
"f": [1, 11, 23, 66],
}
)
print(df)
print("Rearranging ..................")
print("..............................")
df = df.reindex(columns=["a", "f", "d", "b", "c", "e"])
print(df)
Ausgabe:
a b c d e f
0 1 16 61 12 Green 1
1 2 7 57 22 Red 11
2 3 6 16 13 Blue 23
3 4 16 36 44 Yellow 66
Rearranging ..................
..............................
a f d b c e
0 1 1 12 16 61 Green
1 2 11 22 7 57 Red
2 3 23 13 6 16 Blue
3 4 66 44 16 36 Yellow