В этом задании вы должны написать функцию для решения задачи. Применять её к датасетам eng_probabilities.csv и eng_target.csv пока рано, вы сделаете это в следующем задании.

Напишите функцию revenue() (англ. «выручка»), которая подсчитывает и возвращает выручку. Она получает на вход:

  • список ответов target — пришёл ли ученик на урок;
  • список вероятностей probabilities — модель оценивает, придёт ученик или нет;
  • сколько учеников посещает занятия за день count.

Функция должна выбрать учеников с наибольшей вероятностью посещения и на основе ответов подсчитать возможную выручку.

В прекоде пример запуска функции, когда списки вероятностей и ответов невелики, а учеников только трое.

import pandas as pd

def revenue(target, probabilities, count):
    probs_sorted = probabilities.sort_values(ascending=False) 
    selected = target[probs_sorted.index][:count] 
    
    return 1000 * selected.sum()

target = pd.Series([1,   1,   0,   0,  1,    0])
probab = pd.Series([0.2, 0.9, 0.8, 0.3, 0.5, 0.1])

res = revenue(target, probab, 3)

print(res)

Результат

2000