Каква е разликата между методите apply и map в Pandas?
sobes.tech AI
Отговор от AI
Методите apply и map в Pandas служат за прилагане на функции към данните, но се използват в различни контексти и имат различни възможности.
-
mapобикновено се прилага към Series и е предназначен за елементни преобразувания. Той може да приема речник, функция или Series за замяна или преобразуване на стойности. -
applyе по-гъвкав и може да се прилага както към Series, така и към DataFrame. За Series работи подобно наmap, но може да приема функции, които връщат скалар или Series. За 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, и позволява прилагане на сложни функции.