Как найти ряд с максимальной разницей нескольких столбцов?

В фрейме данных, связанным с кино, надо найти максимальную прибыль с фильма (рассчитывается как profit = revenue - budget).

Как найти конкретный ряд по типу того, что на картинке:

Ряд

, а не число, которое можно получить через .max()?

Пытался также через .idxmax(), но не знаю как через полученный id найти ряд.


Ответы (1 шт):

Автор решения: MaxU

Воспользуйтесь методами DataFrame.assign() и DataFrame.nlargest():

res = (df
       .assign(profit=df["revenue"] - df["budget"])
       .nlargest(1, columns=["profit"]))
→ Ссылка