logo

Python | Pandas.apply()

Pandas.apply lar brukerne sende en funksjon og bruke den på hver enkelt verdi i Pandas-serien. Det kommer som en enorm forbedring for pandas-biblioteket, da denne funksjonen hjelper til med å skille data i henhold til forholdene som kreves på grunn av at den brukes effektivt i datavitenskap og maskinlæring.

Installasjon:



Importer Pandas-modulen til python-filen ved å bruke følgende kommandoer på terminalen:

pip install pandas>

For å lese csv-filen og klemme den inn i en pandas-serie brukes følgende kommandoer:

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

Syntaks:



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

Parametere:

func: .apply tar en funksjon og bruker den på alle verdiene i pandaserien. convert_dtype: Konverter dtype i henhold til funksjonens operasjon. args=(): Ytterligere argumenter som skal overføres til funksjon i stedet for serier. Returtype: Pandas Series etter påført funksjon/drift.

Eksempel #1:



Følgende eksempel sender en funksjon og kontrollerer verdien av hvert element i serie og returnerer lav, normal eller høy tilsvarende.

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

opprettelse av liste i java
>

>

Produksjon:

Eksempel #2:

I det følgende eksempelet lages en midlertidig anonym funksjon i .apply seg selv ved hjelp av lambda. Den legger til 5 til hver verdi i serien og returnerer 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())>

>

>

Produksjon:

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 observert, Nye verdier = gamle verdier + 5