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