Я реструктурирую данные. Процесс содержит две задачи:
- вставка новой строки суммированием groupby.
- создание нового столбца Уровень .
Я вставил ожидаемый результат в рисунок 1 и рисунок 2.
Фрейм данных содержит несколько столбцов. Пример фрейма данных выглядит следующим образом:
df = pd.DataFrame()
df ['Competition']= ['EPL','EPL','EPL','EPL','EPL','EPL','EPL','EPL','EPL','EPL']
df ['Player']= ['Bruno','Bruno','Bruno','Bruno','Bruno','Bruno','Bruno','Bruno','Bruno','Bruno']
df ['template'] = ['Def','Def','Pass','Pass','Actions','Actions','Attk','Attk','Other','Other']
df ['Stats'] = ['Def duels', ' ','Back passes', ' ','Dribbles', ' ','Goal','Assist','Possession Losses','Possession Losses [own half]']
df ['Stat1'] = [' ', 'Def duels Won',' ', 'Back passes[Acc]',' ', 'Dribbles[Suc]',' ',' ',' ',' ']
df ['Value'] = [5,2.5,60,55,5,2,2,1,3,1]
Я хочу суммировать значение с помощью группировки по столбцам Competition, Player, Template . Значение будет вставлено как новая строка чуть выше существующей строки. Ожидаемый фрейм данных выглядит следующим образом:
Исходя из вышеупомянутого фрейма даты, я хотел бы создать новый столбец Уровень следующим образом:
> The Level as defined as follow: level= 1 if blank or no data in the
> columns **Stats,Stats1** level= 2 if blank or no data in the columns
> **Stats1** level= 3 if data in the columns **Stats1**
Как бы я это сделал?