Sobes.tech
Middle

Mi a különbség az apply és a map módszerek között a Pandas-ban?

sobes.tech MI

Válasz az MI-től

A Pandas apply és map módszerek adatfüggvények alkalmazására szolgálnak, de különböző kontextusokban használják őket, és különböző lehetőségekkel rendelkeznek.

  • A map általában Series-re alkalmazandó, és elem szerinti transzformációkra tervezték. Elfogadhat szótárat, függvényt vagy Series-t, és értékek cseréjére vagy átalakítására használható.

  • Az apply sokoldalúbb, és mind Series, mind DataFrame esetén alkalmazható. Series esetén hasonlóan működik, mint a map, de elfogadhat olyan függvényeket, amelyek skalár vagy Series értéket adnak vissza. DataFrame esetén az apply lehetővé teszi függvény alkalmazását sorok (axis=1) vagy oszlopok (axis=0) mentén.

Példa:

import pandas as pd

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

# map minden elemre alkalmaz egy függvényt
print(ds.map(lambda x: x * 2))

# apply Series-en hasonló a map-hez
print(ds.apply(lambda x: x * 2))

# DataFrame-en oszloponként alkalmazva
df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
print(df.apply(sum, axis=0))  # oszlopok összege
print(df.apply(sum, axis=1))  # sorok összege

Összefoglalva: a map — egyszerű transzformációkra Series-en, az apply — rugalmasabb, mind DataFrame, mind Series esetén működik, és összetettebb függvények alkalmazását teszi lehetővé.