У меня есть df, как показано ниже.

p1_conf
, p2_conf
и p3_conf
соответственно показывают доверительный интервал модели p1
, p2
иp3
.
Мне было интересно, как я могу выбрать прогноз с наибольшим доверительным интервалом в каждой строке и сохранить его в некоторых новых столбцах.Таким образом, результат будет таким:

Вы можете использовать ниже df в качестве исходного df:
df = pd.DataFrame({"id": [1,2,3,4,5],
"Name": ["Dave","Max","Joe","Rose","Mark"],
"model1":["Irish","German","USA","Japan","China"],
"confidence1": [0.9,.99,.83,.45,.51],
"prediction1": [True,False,True,False,False],
"model2":["Oman","Nigeria","India","Russia","Brazil"],
"confidence2": [0.1,.25,.26,.41,.01],
"prediction2": [False,True,False,False,False],
"model3":["Egypt","Cameron","Netherland","Canada","Mexcio"],
"confidence3": [0.01,.23,.12,.34,.61],
"prediction3": [True,False,True,True,False]})
И результатдолжно быть что-то вроде:
df1 = pd.DataFrame({"id": [1,2,3,4,5],
"Name":["Dave","Max","Joe","Rose","Mark"],
"model_name":["1","2","1","3",None],
"predicted_gener":["Irish","Nigeria","USA","Canada",None],
"confidence":[0.9,0.25,.83,0.34,None],
"prediction":[True,True,True,True,None]})
Любая помощь приветствуется.