2017-02-09 3 views
0

So habe ich Dataframe, das rund 40 Spalten hat. Sie enthalten Punkte für einen Test. Die Spalten heißen jetzt wie folgt:
Student, Datum, Score, Score.1, Score.2 bis Score.39.
Wir wurden gebeten, die Spaltennamen so zurückzusetzen, dass sie mit der Punktzahl übereinstimmen (ändern Sie Score zu Score.1, Score.1 zu Score.2, Score.2 zu Score.3 und so weiter).

sieht mein Code wie folgt nun:Umbenennen mehrerer DataFrame-Spalten mit einer for-Schleife in Pandas

import pandas as pd 
prog = pd.read_excel('File.xlsx') 
for c in prog.columns: 
    prog[c].rename(columns = lambda x : 'Score_' + x) 

Unfortunatly dies nicht die Ausgabe ich es will nicht geben.
Ich hatte gehofft, jemand könnte mir zeigen, wie man das macht.
Vielen Dank im Voraus

+0

'cols = df.columns.tolist()' und 'df.columns = cols [2] + [ 'Score_% i'% i für i in xrange (1, len (cols [2:]) + 1)] '? – Zero

+0

@JohnGalt Danke Mann! genau das meinte ich. –

Antwort

0

John Galt kam in den Kommentaren mit der Lösung: cols = df.columns.tolist() und df.columns = cols[:2] + ['Score_%i' % i for i in xrange(1, len(cols[2:])+1)]

Verwandte Themen