В чем разница между методами map и apply в pandas?
Ответ от нейросети
sobes.tech AI
В pandas методы map и apply используются для применения функций к данным, но отличаются по области применения и гибкости.
-
mapобычно применяется к Series и предназначен для замены значений или преобразования элементов поэлементно. Он принимает словарь, Series или функцию и возвращает Series с преобразованными значениями. -
applyболее универсален и может применяться как к Series, так и к DataFrame. Для Series он похож наmap, но может работать с функциями, которые возвращают скаляр или серию. Для DataFrameapplyпозволяет применять функцию по строкам (axis=1) или по столбцам (axis=0).
Пример:
import pandas as pd
s = pd.Series([1, 2, 3])
# map с функцией
print(s.map(lambda x: x * 2))
# apply с функцией
print(s.apply(lambda x: x * 2))
# apply к DataFrame по столбцам
df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
print(df.apply(sum, axis=0)) # сумма по столбцам
print(df.apply(sum, axis=1)) # сумма по строкам
Таким образом, map удобен для простых поэлементных преобразований Series, а apply — для более сложных операций и работы с DataFrame.