
Нахождение максимального и минимального значения в Pandas — зачастую, необходимая операция для анализа данных. Поэтому предлагаю попрактиковаться на примере тренировочного датасета: отыскать предельные значения и вывести строки с этими значениями на экран.
Действовать будем по плану:
Сначала поработаем с максимальными значениями:
- Найдем максимальное значение:
- для каждого столбца таблицы;
- в определенном столбце таблицы
- Выведем на экран строки с максимальными значениями
Затем поработаем с минимальными значениями:
- Найдем минимальное значение:
- для каждого столбца таблицы;
- в определенном столбце таблицы
- Выведем на экран строки с минимальными значениями
Загрузка датасета
Для наглядности будем использовать тренировочный датасет с пропорциями некоторых продуктов для приготовления кондитерских изделий. Скачать датасет можно по ссылке: products.csv. Итак, загрузим файл с данными:
import pandas as pd
data = pd.read_csv('products.csv', sep=';', index_col='dish')
data.head(11)
Выведем таблицу на экран:

Названия десертов и наименования продуктов представлены в качестве индексов таблицы. Числовое значение в каждой ячейке, расположенной на пересечении строки с десертом и колонки с наименованием продукта — это количество продукта в граммах, необходимое для приготовления 1 кг. изделия.
После загрузки датасета можно переходить к реализации нашего плана и отыскать предельные значения!
Работаем с максимальными значениями
1. Ищем максимальное значение:
# для каждого столбца таблицы:
Получим максимальный вес каждого продукта. Для этого найдем максимальные значения в каждом столбце таблицы с помощью функции max() и выведем их на экран. Применим функцию max() ко всей таблице data:
import pandas as pd
data = pd.read_csv('products.csv', sep=';', index_col='dish')
data.head(11)
#Получим максимальные значения в каждом столбце
maximums = data.max()
# выведем результат на экран
print(maximums)
Полученный результат — максимальные значения в каждом столбце
egg 200 sugar 282 flour 900 butter 235 dtype: int64
# в определенном столбце таблицы:
Узнаем, сколько потребуется сахара для приготовления 1 кг. самого сладкого блюда из представленных в таблице. Для этого получим максимальное значение в столбце «sugar» с помощью функции max(). На этот раз применим функцию max() к столбцу «sugar»:
import pandas as pd
data = pd.read_csv('products.csv', sep=';', index_col='dish')
data.head(11)
#Получим максимальное значение в столбце "sugar"
max_sugar = data['sugar'].max()
# выведем результат на экран
print(max_sugar)
Полученный результат — максимальное значение в столбце «sugar»
282
Теперь мы знаем, что в 1 кг. самого сладкого блюда из таблицы data содержится 282 грамм сахара. Однако, хотелось бы узнать название этого блюда, а еще лучше — вывести всю строку с информацией о нем:
2. Выводим на экран строку с максимальным значением
Для этого используем полученное значение с максимальным количеством сахара (data[‘sugar’].max()) и выведем строку, для которой выполняется условие data[‘sugar’]==data[‘sugar’].max():
import pandas as pd
data = pd.read_csv('products.csv', sep=';', index_col='dish')
data.head(11)
# Найдем строку с максимальным значением
str = data[data['sugar']==data['sugar'].max()]
# Выведем строку на экран
print(str)
Полученный результат — строка таблицы data с максимальным значением

В соответствии с полученным результатом, самым сладким блюдом из представленных в таблице data являются печенья!
Работаем с минимальными значениями
Главным козырем при нахождении минимальных значений в данных является функция min(). Рассмотрим варианты ее применения для получения желаемого результата:
1. Ищем минимальное значение:
# для каждого столбца таблицы
Выведем на экран минимальные значения в каждом столбце таблицы с помощью функции min(). Для этого применим функцию min() ко всей таблице data:
import pandas as pd
data = pd.read_csv('products.csv', sep=';', index_col='dish')
data.head(11)
# Найдем минимальные значения в каждом столбце таблицы
minimums = data.min()
# Выведем результат на экран
print(minimums)
Полученный результат — минимальные значения в каждом столбце
egg 50 sugar 0 flour 50 butter 0 dtype: int64
# в определенном столбце таблицы:
Найдем минимальное значение в столбце «sugar» с помощью функции min():
import pandas as pd
data = pd.read_csv('products.csv', sep=';', index_col='dish')
data.head(11)
# Найдем минимальное значение в столбце «sugar»
min_sugar = data['sugar'].min()
# Выведем найденное значение на экран
print(min_sugar)
Результат на экране — минимальное значение в столбце «sugar»:
0
Выходит, что среди размещенных в таблице блюд присутствуют несладкие изделия. Давайте узнаем, какой представитель выпечки самый несладкий: выведем на экран строку с его именем!
2. Выводим на экран строку с минимальным значением
Для этого найдем строку, для которой значение в столбце ‘sugar’ совпадает с найденным ранее минимальным количеством сахара: data[‘sugar’]==data[‘sugar’].min():
import pandas as pd
data = pd.read_csv('products.csv', sep=';', index_col='dish')
data.head(11)
# Найдем строку с минимальным значением
str = data[data['sugar']==data['sugar'].min()]
# выведем строку на экран
print(str)
Результат — строка с минимальным значением в столбце «sugar»:

Таким образом, нам удалось выяснить, что в пасте (в соответствии с таблицей data) не содержится сахара. Ах, вот почему она не сладкая! 😉
Теперь, когда все технологические секреты раскрыты, а предельные значения найдены, подведем итоги:
Коротко о поиске максимальных и минимальных значений в pandas:
Дано: датасет data c числовыми значениями в столбцах: «egg», «sugar», «flour», «butter».
1. Получим максимальные / минимальные значения для каждого столбца:
# Максимальные значения - maximums
maximums = data.max()
# Минимальные значения - minimums
minimums = data.min()
2. Получим максимальное / минимальное значение для столбца «sugar»:
# Максимальное значение в столбце "sugar"
max_sugar = data['sugar'].max()
# Минимальное значение в столбце "sugar"
min_sugar = data['sugar'].min()
3. Выведем на экран строку с максимальным / минимальным значением в столбце «sugar»:
# Найдем строку с максимальным значением
str = data[data['sugar']==data['sugar'].max()]
# выведем строку на экран
print(str)
# Найдем строку с минимальным значением
str = data[data['sugar']==data['sugar'].min()]
# выведем строку на экран
print(str)

Сайт понравился, я и сам люблю Python 🙂