У меня есть пандас датафрейм
Id drove swimmed walked winPerc
0 247.3 1050 782.4 1
1 37.65 1072 119.6 0.04
2 93.73 1404 3248 1
3 95.88 1069 21.49 0.1146
4 0 1034 640.8 0
5 128.1 1000 1016 0.9368
average 100.4433333 1104.833333 971.3816667
Min 0 1000 21.49
max 247.3 1404 3248`
winPerc = 1 означает, что игрок выиграл с 1-м рангом, аналогично winPerc = 0 говорит нам, что игрок пришел последним
print("The person who ends up winning the match usually drives {:.2f} , swims {:.2f} meters, has a walked {} meters".format(df.set_index('drove')['winPerc'].idxmax(),df.set_index('swimmed')['winPerc'].idxmax(),df.set_index('walked')['winPerc'].idxmax()))
за это я получаю: -
IndexError: индекс кортежа вне диапазона
Что я хочу, так это то, как вы можете видеть на приведенном выше кадре данных, строки с идентификаторами 0 и 2 имеют winPerc = 1, я должен получить ответ:
The person who ends up winning the match usually drives 170.52 , swims 1227 meters, has a walked 2015.2 meters
И если было несколько записей с winPerc = 1, то я должен получить значения соответственно
Также могут быть игроки, которые могли не ездить (ехал = 0) и,
выиграли игру (winPerc = 1)
print("{} number of confident Players won without driving".format(len(df['drove'].min()['winPerc'].idxmax())))
Для этого я получаю эту ошибку: -
IndexError: недопустимый индекс для скалярной переменной.
Если , в случае нет строки, у которой есть значение столбца min () или max () или mean (), тогда я должен взять значения, которые имеют близкие значения, которые близки к этому конкретному случай.
Заранее спасибо, и дайте мне знать, если я должен объяснить больше. :)