Sobes.tech
Middle
17

Чем отличаются методы apply и map в Pandas?

Компании, где спрашивали
AstonAston

Ответ от нейросети

sobes.tech AI

Методы apply и map в Pandas служат для применения функций к данным, но используются в разных контекстах и имеют разные возможности.

  • map обычно применяется к Series и предназначен для элемент-wise преобразований. Он может принимать словарь, функцию или Series для замены или преобразования значений.

  • apply более универсален и может применяться как к Series, так и к DataFrame. Для Series он работает похоже на map, но может принимать функции, которые возвращают скаляр или серию. Для DataFrame apply позволяет применять функцию по строкам (axis=1) или по столбцам (axis=0).

Пример:

import pandas as pd

ds = pd.Series([1, 2, 3])

# map применяет функцию к каждому элементу
print(ds.map(lambda x: x * 2))

# apply на Series похож на map
print(ds.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, и с Series, позволяет применять сложные функции.