Максимальное значение Pandas

Как найти минимальное и максимальное значение в Pandas таблице

Нахождение максимального и минимального значения в Pandas — зачастую, необходимая операция для анализа данных. Поэтому предлагаю попрактиковаться на примере тренировочного датасета: отыскать предельные значения и вывести строки с этими значениями на экран.

Действовать будем по плану:

Сначала поработаем с максимальными значениями:
  1. Найдем максимальное значение:
    • для каждого столбца таблицы;
    • в определенном столбце таблицы
  2. Выведем на экран строки с максимальными значениями
Затем поработаем с минимальными значениями:
  1. Найдем минимальное значение:
    • для каждого столбца таблицы;
    • в определенном столбце таблицы
  2. Выведем на экран строки с минимальными значениями

Загрузка датасета

Для наглядности будем использовать тренировочный датасет с пропорциями некоторых продуктов для приготовления кондитерских изделий. Скачать датасет можно по ссылке: 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)

У нас появился Telegram-канал для изучающих Python! Подписывайтесь по ссылке: «Кодим на Python! Вместе «питонить» веселее! 😉

1 комментарий

Добавить комментарий