Во-первых, вы хотите получить только строки с MSIS
в столбце Program
.Это можно сделать следующим образом:
df[df['Program'] == 'MSIS']
Далее вы хотите получить только столбцы Regression
, Classification
и Clustering
.Предыдущий запрос фильтровал только строки;мы можем добавить к этому, вот так:
df.loc[df['Program'] == 'MSIS', ['Regression', 'Classification', 'Clustering']]
Теперь, для каждой оставшейся строки мы хотим взять максимум.Это можно сделать, добавив .max(axis=1)
к предыдущей строке (axis=1
, потому что мы хотим максимум каждой строки, а не каждого столбца).
На этом этапе у нас должен быть DataFrame, где каждая строка представляетсамый высокий балл из трех категорий для каждого студента.Теперь все, что осталось сделать, это взять среднее, что можно сделать с помощью .mean()
.Полный код должен выглядеть следующим образом:
df.loc[df['Program'] == 'MSIS', ['Regression', 'Classification', 'Clustering']].max(axis=1).mean()