2017-02-09 5 views
0

Итак, у меня есть Dataframe, который имеет около 40 столбцов. Они содержат (составленные) баллы для теста. Столбцы теперь названы следующим образом:
Студент, Дата, Счет, Счет 1, Оценка 2. Весь путь к Счету.39.
Нам было предложено сбросить имена столбцов, чтобы они соответствовали оценке (смените Score на Score.1, Sc.1 на Score.2, Score.2 на Score.3 и т. Д.).

Мой код будет выглядеть так:Переименование нескольких столбцов DataFrame с циклом for в 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 это не дает выход я хочу его.
Я надеялся, что кто-то покажет мне, как это сделать.
Заранее спасибо

+0

'смещ_по_столбцам = df.columns.tolist()' и 'df.columns = ЧИСЛО [: 2] + [ 'Score_% i'% i для i в xrange (1, len (cols [2:]) + 1)] '? – Zero

+0

@JohnGalt Спасибо, человек! это именно то, что я имел в виду. –

ответ

0

Джон Галт придумал решение в комментариях: cols = df.columns.tolist() и df.columns = cols[:2] + ['Score_%i' % i for i in xrange(1, len(cols[2:])+1)]