Pandas.apply ļauj lietotājiem nodot funkciju un lietot to katrai Pandas sērijas vērtībai. Tas ir milzīgs pandas bibliotēkas uzlabojums, jo šī funkcija palīdz nodalīt datus atbilstoši nepieciešamajiem nosacījumiem, kuru dēļ tos efektīvi izmanto datu zinātnē un mašīnmācībā.
Uzstādīšana:
Importējiet Pandas moduli python failā, izmantojot šādas termināļa komandas:
pip install pandas>
Lai nolasītu csv failu un saspiestu to pandas sērijā, tiek izmantotas šādas komandas:
import pandas as pd s = pd.read_csv('stock.csv', squeeze=True)>
Sintakse:
s.apply(func, convert_dtype=True, args=())>
Parametri:
funkcija: .apply aizņem funkciju un piemēro to visām pandu sērijas vērtībām. convert_dtype: Konvertējiet dtype atbilstoši funkcijas darbībai. args=(): Papildu argumenti, kas jānodod funkcijai, nevis sērijai. Atgriešanas veids: Pandas sērija pēc pielietotās funkcijas/operācijas.
1. piemērs:
Šis piemērs nodod funkciju un pārbauda katra elementa vērtību virknē un attiecīgi atgriež zemu, normālu vai augstu.
PYTHON3
import> pandas as pd> # reading csv> s> => pd.read_csv('stock.csv', squeeze> => True> )> # defining function to check price> def> fun(num):> > if> num<> 200> :> > return> 'Low'> > elif> num>>> and> num<> 400> :> > return> 'Normal'> > else> :> > return> 'High'> # passing function to apply and storing returned series in new> new> => s.> apply> (fun)> # printing first 3 element> print> (new.head(> 3> ))> # printing elements somewhere near the middle of series> print> (new[> 1400> ], new[> 1500> ], new[> 1600> ])> # printing last 3 elements> print> (new.tail(> 3> ))> |
bash concatenate virknes
>
>
Izvade:
2. piemērs:
Nākamajā piemērā .apply ir izveidota pagaidu anonīma funkcija, izmantojot lambda. Tas pievieno 5 katrai sērijas vērtībai un atgriež jaunu sēriju.
PYTHON3
import> pandas as pd> s> => pd.read_csv('stock.csv', squeeze> => True> )> # adding 5 to each value> new> => s.> apply> (> lambda> num : num> +> 5> )> # printing first 5 elements of old and new series> print> (s.head(),> '
'> , new.head())> # printing last 5 elements of old and new series> print> (> '
'> , s.tail(),> '
'> , new.tail())> |
>
>
Izvade:
0 50.12 1 54.10 2 54.65 3 52.38 4 52.95 Name: Stock Price, dtype: float64 0 55.12 1 59.10 2 59.65 3 57.38 4 57.95 Name: Stock Price, dtype: float64 3007 772.88 3008 771.07 3009 773.18 3010 771.61 3011 782.22 Name: Stock Price, dtype: float64 3007 777.88 3008 776.07 3009 778.18 3010 776.61 3011 787.22 Name: Stock Price, dtype: float64>
Kā novērots, jaunās vērtības = vecās vērtības + 5