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

У меня есть фрейм данных по фильмам: название, актёрский состав, жанры, бюджет и т.д. Нужно найти фильм с максимальным бюджетом. Я нашел максимальный бюджет.

Но как мне сопоставить с его с названием фильма?

Текущий код:

data = pd.read_csv('movie_bd_v5.csv')
top_budget = data['budget'].max()

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

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

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

top_budget_movie = data.nlargest(1, columns=["budget"])["name"]

UPD: можно сделать менее эффективно (в два шага) - сначала находим максимум и после этого выбираем строки в которых бюджет максимальный:

max_budget = data['budget'].max()
res = df.query("budget == @max_budget")["name"]

PS в этом случае если существует более одного фильма с максимальным (одинаковым) бюджетом, то вам придется самому позаботиться о дубликатах...

→ Ссылка