Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
07 Июл 2023
2 мин
2985

Разница между методами map, applymap и apply в Pandas

При работе с данными в Python на практике часто приходится сталкиваться с необходимостью применить какую-либо функцию к каждому элементу структуры данных.

При работе с данными в Python на практике часто приходится сталкиваться с необходимостью применить какую-либо функцию к каждому элементу структуры данных. В Python для этого существуют специальные функции, такие как map(), applymap() и apply(). Они позволяют выполнять такие операции быстро и эффективно.

Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

Метод map()

Метод map() применяется к объекту типа Series (одномерный массив данных). Это значит, что функция в map() будет применена к каждому элементу в серии.

Вот простой пример использования map(). Представим, что есть серия данных, представляющая температуру в градусах Фаренгейта, и нужно перевести ее в градусы Цельсия.

import pandas as pd

s = pd.Series([32, 212, 0])
s.map(lambda x: (x-32)*5/9)

Метод applymap()

Метод applymap() применяется к объекту типа DataFrame (двухмерный массив данных) и выполняет функцию для каждого элемента во фрейме данных.

Например, есть набор данных о погоде, и нужно округлить все значения до двух знаков после запятой.

import pandas as pd

df = pd.DataFrame({
    'temp_c': [0, 100, -40],
    'humidity': [0.47, 0.61, 0.56]
})
df.applymap(lambda x: round(x, 2))

На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.

Курсы по программированию
Помогаем получить новую профессию с гарантией трудоустройства!
Подробнее
Курсы по программированию

Метод apply()

Метод apply() может быть использован как для объектов типа Series, так и для DataFrame. Однако, в отличие от applymap(), функция будет применяться к каждой серии внутри фрейма данных, а не к каждому элементу.

Предположим, нужно найти максимальное значение в каждом столбце данных.

import pandas as pd

df = pd.DataFrame({
    'temp_c': [0, 100, -40],
    'humidity': [0.47, 0.61, 0.56]
})
df.apply(max)

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

Как видно из этих примеров, методы map(), applymap() и apply() обеспечивают мощные и гибкие инструменты для обработки данных в Python. Они позволяют применять функции ко всем элементам серии или фрейма данных, делая этот процесс быстрым и простым.

Тест на профориентацию
За 10 минут узнайте, как ваш опыт пригодиться в IT индустрии
Подробнее
Тест на профориентацию

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