logo

Python | Pandas.apply()

Pandas.apply låter användarna skicka en funktion och tillämpa den på varje enskilt värde i Pandas-serien. Det kommer som en enorm förbättring för pandasbiblioteket eftersom den här funktionen hjälper till att segregera data enligt de villkor som krävs på grund av vilka den används effektivt inom datavetenskap och maskininlärning.

Installation:



Importera Pandas-modulen till python-filen med följande kommandon på terminalen:

pip install pandas>

För att läsa csv-filen och klämma in den i en pandasserie används följande kommandon:

import pandas as pd s = pd.read_csv('stock.csv', squeeze=True)>

Syntax:



s.apply(func, convert_dtype=True, args=())>

Parametrar:

func: .apply tar en funktion och tillämpar den på alla värden i pandaserien. convert_dtype: Konvertera dtype enligt funktionens funktion. args=(): Ytterligare argument att skicka till funktion istället för serier. Returtyp: Pandaserien efter applicerad funktion/drift.

Exempel #1:



Följande exempel skickar en funktion och kontrollerar värdet för varje element i serie och returnerar låg, normal eller hög i enlighet därmed.

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>>=> 200> 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>))>

ins nyckel
>

>

Produktion:

Exempel #2:

I följande exempel görs en tillfällig anonym funktion i .apply sig själv med lambda. Den lägger till 5 till varje värde i serier och returnerar en ny serie.

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())>

>

>

Produktion:

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>

Som observerats, Nya värden = gamla värden + 5