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

  • Wie man Pandas DataFrame-Spaltenüberschriften als Liste erhält
  • Pandas DataFrame-Spalte löschen
  • Wie man DataFrame-Spalte in Datetime in Pandas konvertiert
  • Wie konvertiert man eine Fließkommazahl in eine Ganzzahl in Pandas DataFrame
  • Verwandter Artikel - Pandas DataFrame Column

  • Wie man Pandas DataFrame-Spaltenüberschriften als Liste erhält
  • Pandas DataFrame-Spalte löschen
  • Wie man DataFrame-Spalte in Datetime in Pandas konvertiert
  • Wie konvertiert man eine Fließkommazahl in eine Ganzzahl in Pandas DataFrame