Pandas bruker funksjon på hver rad

Pandas bruker funksjon på hver rad
Pandas gir mange funksjoner som gjør det enkelt å analysere og manipulere dataene. Vi bruker disse funksjonene for å gjøre oppgavene våre enklere og raskere. Vi bruker funksjonene på radene og kolonnene. For å bruke funksjonen på hver rad i en spesifisert “Pandas” DataFrame, bruker vi Apply () -metoden. Når vi trenger å påkalle en hvilken. Du bør angi aksen = 1 variabel for å sette en funksjon til hver rad () i “Pandas” DataFrame. Vi bruker "Apply ()" -funksjonen i "Pandas" i denne guiden med fire unike metoder ved bruk av serier, tilpassede funksjoner, numpy og lambda -uttrykk.

Syntaks:

DataFrame_Object.Bruk (func, akse = 0, rå = falsk, resultat_type = ingen, args = (), ** kwargs)

Parametere:

  1. Func: En tilpasset/innebygd funksjon som kan brukes på radene/kolonnene.
  2. akser: kolonner (1), indeks (0)
  3. Skipna: Ignorer Na/NULL -verdiene når du beregner resultatet.
  4. Resultat_type: Returnert type av resultatet som serier, dataaframe osv.
  5. args: Spesifiser argumentene.

Metode 1: Bruk () med tilpasset funksjon

For å utføre noen operasjoner på alle radene i Pandas dataframe, må vi skrive en funksjon som vil gjøre beregningen og passere funksjonsnavnet innen Apply () -metoden. Ved dette brukes funksjonen på hver eneste rad.

Pandas.DataFrame_Object.Bruk (tilpasset_funksjon)

Eksempel:
I dette eksemplet har vi en DataFrame som heter “Analyse” med 4 kolonner med heltallstype. Nå skriver vi to tilpassede funksjoner på disse 4 kolonnene.

  1. “Operation1” legger til rader i alle kolonnene. Resultatet over hver kolonne er lagret i kolonnen "Addition Resultat".
  2. “Operation2” multipliserer radene i alle kolonnene. Resultatet over hver kolonne lagres i kolonnen "Multiplikasjonsresultat".
Importer pandaer
# Opprett DataFrame ved hjelp av lister
Analyse = Pandas.DataFrame ([[23,1000,34,56],
[23,700,11,0],
[23,20,4,2],
[21,400,32,45],
[21,100,456,78],
[23 800,90,12],
[21,400,32,45],
[20,120,1,67],
[23,100,90,12],
[22,450,76,56],
[22,40,0,1],
[22,12,45,0]
], kolonner = ['Points1', 'Points2', 'Points3', 'Points4'])
# Vis DataFrame - Analyse
trykk (analyse)
# Funksjon som legger til hver rad for alle kolonnene.
def operation1 (rad):
Returrekke [0]+rad [1]+rad [2]+rad [3]
# Funksjon som legger til hver rad for alle kolonnene.
def operation2 (rad):
Return ROW [0]*ROW [1]*ROW [2]*ROW [3]
# Pass funksjonen til Apply () -metoden og lagre den i 'tilleggsresultat' -kolonne
analyse ['tilleggsresultat'] = analyse.Bruk (Operasjon1, akse = 1)
# Gi funksjonen til Apply () -metoden og lagre den i 'Multiplikasjonsresultat' -kolonne
analyse ['Multiplikasjonsresultat'] = analyse.Bruk (Operation2, Axis = 1)
skrive ut()
trykk (analyse)

Produksjon:

Forklaring:
Vi passerer “Operation1” og “Operation2” til Apply () -funksjonen separat etter den andre. Du kan se at summen av alle verdier over hver rad er lagret i kolonnen "tilleggsresultat", og produktet av alle verdier over hver rad er lagret i "multiplikasjonsresultat" -kolonne.

Metode 2: Bruk () med lambda -uttrykk

Her passerer vi lambda som en parameter til Apply () -funksjonen og gjør beregningen i seg selv.

Pandas.DataFrame_Object.Bruk (lambda x: beregning, akse = 1)

Eksempel:
La oss legge til og multiplisere fire rader som forrige eksempel og lagre dem i to kolonner.

Importer pandaer
# Opprett DataFrame ved hjelp av lister
Analyse = Pandas.DataFrame ([[23,1000,34,56],
[23,700,11,0],
[23,20,4,2],
[21,400,32,45],
[21,100,456,78],
[23 800,90,12],
[21,400,32,45],
[20,120,1,67],
[23,100,90,12],
[22,450,76,56],
[22,40,0,1],
[22,12,45,0]
], kolonner = ['Points1', 'Points2', 'Points3', 'Points4'])
# Legg til alle rader og lagre dem i kolonnen 'tilleggsresultat'.
analyse ['tilleggsresultat'] = analyse.Bruk (Lambda Record: Record [0]+Record [1]+Record [2]+Record [3], Axis = 1)
# Multipliser alle rader og lagre dem i kolonnen 'Multiplikasjonsresultat'.
analyse ['Multiplikasjonsresultat'] = analyse.Bruk (Lambda Record: Record [0]*Record [1]*Record [2]*Record [3], Axis = 1)
skrive ut()
trykk (analyse)

Produksjon:

Forklaring:
Uttrykkene som brukes er som følger:

# Legg til alle rader og lagre dem i kolonnen 'tilleggsresultat'.
analyse ['tilleggsresultat'] = analyse.Bruk (Lambda Record: Record [0]+Record [1]+Record [2]+Record [3], Axis = 1)
# Multipliser alle rader og lagre dem i kolonnen 'Multiplikasjonsresultat'.
analyse ['Multiplikasjonsresultat'] = analyse.Bruk (Lambda Record: Record [0]*Record [1]*Record [2]*Record [3], Axis = 1)

Du kan se at summen av alle verdier over hver rad er lagret i kolonnen "tilleggsresultat", og produktet av alle verdier over hver rad er lagret i kolonnen "Multiplikasjonsresultat".

Metode 3: Bruk () med pandaer.Serie

Hvis du vil endre raden hver for seg, eller du vil oppdatere alle rader individuelt, kan du gjøre det ved å passere serien inne i Lambda -uttrykket.

Pandas.DataFrame_Object.Bruk (Lambda X: Pandas.Serie (beregning), akse = 1)

Eksempel:
La oss trekke fra 10 fra alle kolonnene.

Importer pandaer
# Opprett DataFrame ved hjelp av lister
Analyse = Pandas.DataFrame ([[23,1000,34,56],
[23,700,11,0],
[23,20,4,2],
[21,400,32,45],
[21,100,456,78],
[23 800,90,12],
[21,400,32,45],
[20,120,1,67],
[23,100,90,12],
[22,450,76,56],
[22,40,0,1],
[22,12,45,0]
], kolonner = ['Points1', 'Points2', 'Points3', 'Points4'])
# Trekke fra 10 fra alle radene
Analyse = analyse.Bruk (Lambda Record: Pandas.Serie ([Record [0] -10, Record [1] -10, Record [2] -10, Record [3] -10]), Axis = 1)
trykk (analyse)

Produksjon:

Forklaring:
Uttrykkene som brukes er som følger:

Analyse = analyse.Bruk (Lambda Record: Pandas.Serie ([Record [0] -10, Record [1] -10, Record [2] -10, Record [3] -10]), Axis = 1)

Du kan se at verdiene i alle kolonnene trekkes fra 10.

Metode 4: Bruk () med numpy funksjoner

La oss bruke Numpy -funksjonene til å utføre beregningen på alle rader i Pandas DataFrame.

Pandas.DataFrame_Object.Bruk (numpy funksjon, akse = 1)

Eksempel:
La oss bruke Numpy -funksjonen for å returnere følgende:

  1. Summen av alle radene som bruker Numpy.sum().
  2. Gjennomsnittet av alle radene som bruker Numpy.mener().
  3. Maksimum blant hver rad ved hjelp av numpy.Max ().
  4. Minimum blant hver rad ved hjelp av numpy.min ().

Vi lagrer resultatet i fire forskjellige kolonner.

Importer pandaer
Importer numpy
# Opprett DataFrame ved hjelp av lister
Analyse = Pandas.DataFrame ([[23,1000,34,56],
[23,700,11,0],
[23,20,4,2],
[21,400,32,45],
[21,100,456,78],
[23 800,90,12],
[21,400,32,45],
[20,120,1,67],
[23,100,90,12],
[22,450,76,56],
[22,40,0,1],
[22,12,45,0]
], kolonner = ['Points1', 'Points2', 'Points3', 'Points4'])
# Få total sum av rader og lagre i 'sumresultat'
analyse ['sumresultat'] = analyse.Bruk (numpy.sum, akse = 1)
# Få gjennomsnittet av rader og lagre i 'Sumresultat'
analyse ['gjennomsnittlig resultat'] = analyse.Bruk (numpy.Gjennomsnitt, akse = 1)
# Få maksimal verdi fra hver rad og lagre i 'Max Resultat'
Analyse ['Maks resultat'] = analyse.Bruk (numpy.Maks, akse = 1)
# Få minimumsverdi fra hver rad og lagre i 'Min Resultat'
Analyse ['Min Resultat'] = Analyse.Bruk (numpy.min, akse = 1)
trykk (analyse)

Produksjon:

Konklusjon

Vi ga denne guiden for å forklare hvordan du bruker Apply () -funksjonen til hver rad. Hovedmålet vårt er å gi deg en god, enkel og detaljert forklaring av dette "Apply ()" -funksjonskonseptet. Vi demonstrerte fire distinkte eksempler der vi viste hvordan vi kan bruke funksjonen på hver rad i "pandaer" ved hjelp av "Apply ()" -funksjonen. Vi forklarte at når vi ønsker å implementere enhver funksjon til hver rad i Dataframe i pandaer, bruker vi "Apply ()" -funksjonen for dette formålet.