У меня есть генератор случайных чисел, и я пытаюсь получить результаты на основе этого числа.У меня есть три результата в трех столбцах.«В гостях», «Ничья», «Победа дома» и есть вероятность этих событий.Основываясь на функции случайных чисел, я хочу смоделировать столбец ожидаемых результатов.
Prob_Away_Win Prob_Draw Prob_Home_Win Random_Value Expected_Res
0 0.14588 0.37896 0.58646 0.12457 1
1 0.11167 0.31267 0.57566 0.78643 3
2 0.23312 0.41235 0.35453 0.27642 2
3 0.44532 0.32112 0.23358 0.18754 3
4 0.83216 0.12980 0.03804 0.43823 1
5 0.21334 0.09897 0.68769 0.16721 1
Так, например.Глядя на первую строку, со случайным значением 0,12457, я хочу сначала спросить, меньше ли это значение, чем наименьшая вероятность, доступная в любом из трех столбцов «Проб».Да, он меньше, чем «Prob_Away_Win», поэтому я хочу, чтобы значение «1» отражало столбец 1. Глядя на следующую строку, вероятность меньше, чем наименьшее значение?Нет. Так ... Это меньше, чем наименьшее значение (0,11167) + следующее наименьшее значение (0,31267)?Нет. Поэтому я хочу, чтобы Expected_Res выбрал «3», поскольку это был последний оставшийся столбец.Для следующей строки в Dataframe, я снова хочу спросить: случайное значение меньше наименьшего доступного значения.Нет. Это наименьшее возможное значение: «Prob_Away_Win (0,23312) + следующее наименьшее значение« Prob_Home_Win »(0,35453) = 0,58765.Да.Так что выберите столбец '2' Pro_Home_Win.
Как я могу создать функцию, которая будет вычислять это?