Wie man die Reihenfolge der Pandas DataFrame-Spalten ändert

  1. Spalten in der neu gewünschten Reihenfolge in Pandas auflisten
  2. Einfügen einer neuen Spalte mit der spezifischen Position in Pandas
  3. Spalte reindizieren für gegebene Ordnung in Pandas

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

Verwandter Artikel - Pandas DataFrame

  • Objekt in Float konvertieren in Pandas
  • Zählen Sie eindeutige Werte pro Gruppe(n) in Pandas
  • Verwandter Artikel - Pandas DataFrame Column

  • Wie man eine Zeile basierend auf einem Spaltenwert in Pandas DataFrame löscht
  • Alle Spalten eines Pandas DataFrame anzeigen