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
applysokoldalúbb, és mind Series, mind DataFrame esetén alkalmazható. Series esetén hasonlóan működik, mint amap, de elfogadhat olyan függvényeket, amelyek skalár vagy Series értéket adnak vissza. DataFrame esetén azapplylehető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é.