Sobes.tech
Middle

Каква е разликата между методите 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, и позволява прилагане на сложни функции.