391 Stimmen

Wie füge ich eine Spalte an einem bestimmten Spaltenindex in Pandas ein?

Kann ich in Pandas eine Spalte an einem bestimmten Spaltenindex einfügen?

import pandas as pd
df = pd.DataFrame({'l':['a','b','c','d'], 'v':[1,2,1,2]})
df['n'] = 0

Dies platziert Spalte n als letzte Spalte von df, aber gibt es keine Möglichkeit, df mitzuteilen, n am Anfang zu platzieren?

3voto

rra Punkte 777

Hier ist eine sehr einfache Antwort darauf (nur eine Zeile).

Sie können dies tun, nachdem Sie die 'n'-Spalte in Ihr df eingefügt haben, wie folgt.

import pandas as pd
df = pd.DataFrame({'l':['a','b','c','d'], 'v':[1,2,1,2]})
df['n'] = 0

df
    l   v   n
0   a   1   0
1   b   2   0
2   c   1   0
3   d   2   0

# hier können Sie den folgenden Code hinzufügen und es sollte funktionieren.
df = df[list('nlv')]
df

    n   l   v
0   0   a   1
1   0   b   2
2   0   c   1
3   0   d   2

Allerdings, wenn Sie Worte in Ihren Spaltennamen haben anstatt Buchstaben. Es sollten zwei Klammern um Ihre Spaltennamen herum sein. 

import pandas as pd
df = pd.DataFrame({'Upper':['a','b','c','d'], 'Lower':[1,2,1,2]})
df['Net'] = 0
df['Mid'] = 2
df['Zsore'] = 2

df

    Upper   Lower   Net Mid Zsore
0   a       1       0   2   2
1   b       2       0   2   2
2   c       1       0   2   2
3   d       2       0   2   2

# hier können Sie die folgende Zeile hinzufügen und es sollte funktionieren 
df = df[list(('Mid','Upper', 'Lower', 'Net','Zsore'))]
df

   Mid  Upper   Lower   Net Zsore
0   2   a       1       0   2
1   2   b       2       0   2
2   2   c       1       0   2
3   2   d       2       0   2

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X