Сортировка по нескольким столбцам

Необходимо найти самый убыточный фильм с 2012 по 2014 года (включительно).

Получилось найти самый убыточный фильм в заданных годах по отдельности с помощью подобного кода: data.loc[data.release_year==2012].sort_values(by='revenue',ascending=True)['original_title'].iloc[0]

Как включить несколько лет в поиск?

Пример датафрейма: датафрейм


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

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

Попробуйте воспользоваться методами: .query() и .nsmallest():

res = (data
       .eval("profit = revenue - budget")
       .query("2012 <= release_year <= 2014")
       .nsmallest(1, "profit")
       ["original_title"])

→ Ссылка
Автор решения: CrazyElf

Включить несколько лет в условие - например, с помощью isin:

data.loc[data.release_year.isin([2012,2013,2014])]

Сортировать по revenue - budget - сделайте новую колонку:

data['profit'] = data['revenue'] - data['budget']

И потом сортируйте по этой колонке.

→ Ссылка