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:
- Func: En tilpasset/innebygd funksjon som kan brukes på radene/kolonnene.
- akser: kolonner (1), indeks (0)
- Skipna: Ignorer Na/NULL -verdiene når du beregner resultatet.
- Resultat_type: Returnert type av resultatet som serier, dataaframe osv.
- 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.
- “Operation1” legger til rader i alle kolonnene. Resultatet over hver kolonne er lagret i kolonnen "Addition Resultat".
- “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:
- Summen av alle radene som bruker Numpy.sum().
- Gjennomsnittet av alle radene som bruker Numpy.mener().
- Maksimum blant hver rad ved hjelp av numpy.Max ().
- 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.