07 Июл 2023
2 мин
2429

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

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

Содержание

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

Метод 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))

Метод 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. Они позволяют применять функции ко всем элементам серии или фрейма данных, делая этот процесс быстрым и простым.

Содержание

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

Определи профессию по рисунку