Pandas Regex

Pandas Regex

Vi kan lage en serie eller dataaframe i "Pandas" og gjøre mange flere oppgaver ved å bruke funksjonene eller metodene til "Pandas". Som vi vet, lagrer vi mye data i “Pandas” Dataframes and Series. Vi kan også søke i mønstrene i pandaer ved å bruke regex. For å identifisere mønsteret i en streng i en serie eller dataaframe, er mange "pandaer" -funksjoner tilgjengelige som Regex godtar. Vi kan enkelt trekke ut, filtrere eller rengjøre dataene ved å bruke forskjellige metoder som Regex tillater oss. Vi vil bruke de forskjellige metodene til "pandas" som regex lar oss bruke i "pandas" -koden, og vi vil forklare "regex" i "pandas" i detalj i denne artikkelen.

Eksempel 1:

Vi utfører nå “Pandas” -kodene i “Spyder” -verktøyet. Vi importerer “Pandas” -biblioteket her som “PD” siden vi jobber med “Pandas” -biblioteket. Deretter utvikler vi "update_df" her som er dataaframe. "Pandas" -metoden "DataFrame ()" hjelper til med å opprette DataFrame. Deretter plasserer vi "dikter" og legger til navnene i "navnet" som er "Zane, Santiago, Silas, Roman, Milo, Samuel og Hayes". Etter dette har vi “Guardians” der vi plasserer “Leif, Jasper, Julian, Laken, Jude, Ezra og Briar”. "Merkene" kommer neste som inneholder "89, 23, 33, 99, 56, 90 og 66". Deretter inneholder "fagene" "biologi, zoologi, kjemi, etikk, botanikk, GK og skogbruk".

Vi gjengir også “update_df” ved hjelp av “print ()” -metoden. Først viser vi denne dataaframmen og går deretter videre.

Hvis du jobber med "Spyder" -appen, må du trykke på enten "Shift+Enter" -tastene eller "Kjør" -ikonet til denne appen. Etter å ha gjort dette, vises utgangen på terminalen. Her får vi bare DataFrame som vi tidligere genererte. Dataframe vises også på følgende som vises på terminalen etter utførelsen av kodene.

Nå bruker vi “Str.Match () ”-metode her. Denne “Str.Match () ”-metoden hjelper til med å filtrere radene i“ Pandas ”DataFrame. Vi plasserer først "regex1" -variabelen og justerer “S.*" der. Etter dette bruker vi “Str.kamp()". For dette legger vi først til DataFrame -navnet og legger deretter den firkantede braketten. Inne i denne firkantede braketten plasserer vi DataFrame -navnet “Updated_df” sammen med kolonnens navn “Navn”. Deretter satte vi “Str.match () ”der vi legger til variabelnavnet som vi tidligere initialiserte.

Nå sjekker den alle verdiene som er til stede i "Navn" -kolonnen og filtrerer de radene der navnet starter fra "S". Etter dette initialiserer vi "regex2" -variabelen. Denne gangen initialiserer vi det med “J.*”. Vi bruker denne variabelen i “Str.match () ”-funksjon for å trekke ut radene. Vi bruker “Str.Match () ”-metoden på“ Guardians ”-kolonnen og den trekker ut de radene der Guardian -navnene starter med“ J ”. Vi legger til begge metodene i "trykket", så begge resultatene vises på terminalen.

"Navn" -kolonnen der navnet starter med "S" er trukket ut fra DataFrame og vises. Etter dette blir disse radene filtrert der verge -navnene starter med “J” og er også gjengitt i utfallet. Vi filtrerer disse radene ved å bruke “Str.Match () ”-metode.

Eksempel 2:

Vi oppretter “Frequency_df” her. Denne "frekvens_df" inneholder "størrelse, fre_1, fre_2, fre_3, fre_4 og fre_5". I "størrelsen" legger vi til “FF_1, FF_2, FF_3, FF_4, FF_5, FF_6 og FF_7”. Deretter, i “FRE_1”, satte vi “$ 21, $ 22, $ 23, $ 24, $ 25, $ 26 og $ 27” i det. Nå har vi “FRE_2”, der vi setter inn “$ 31, $ 32, $ 33, $ 34, $ 35, $ ​​36 og $ 37”. Vi legger også til “$ 21, $ 42, $ 43, $ 44, $ 45, $ 46 og $ 47” i “FRE_3”. Nå har vi “FRE_4” og vi plasserer “$ 51, $ 52, $ 23, $ 54, $ 55, $ 56 og $ 57” i IT. Etter dette satte vi “$ 21, $ 81, $ 82, $ 83, $ 84, $ 85 og $ 86” i “FRE_5”.

Nå legger vi til "print ()" der vi plasserer "frekvens_df". Vi bruker "erstatning ()" -metoden her for å erstatte dataene til DataFrame. Vi plasserer først "Frequency_df1" -variabelen som lagrer dataene vi får etter å ha brukt "erstatning ()" -metoden fordi vi bruker denne "frekvens_df1" -variabelen her og initialiserer den med "erstatning ()" -metoden. Vi nevner “Frequency_df” som er navnet på DataFrame og plasserer deretter “erstatt ()” -metoden med denne DataFrame -navnet. Vi legger til "FF_" i "to_replace" -parameteren til denne funksjonen. Vi justerer verdien som er "FRE_" i den andre parameteren som er "verdien" -parameteren.

Deretter legger vi til "regex" i denne metoden som er den tredje parameteren. Vi justerer "sanne". Nå passerer vi “Frequency_df1” til “Print ()”. Dataene vi får etter å ha erstattet dem, vises på terminalen.

Dette utfallet viser den første DataFrame med "FF_" -verdien som er til stede i "størrelse" -kolonnen. Alle "FF_" -verdiene for denne DataFrame erstattes med "FRE_". Det vises også i den andre DataFrame som er den oppdaterte DataFrame som vi får etter å ha brukt "erstatning ()" -funksjonen.

Eksempel 3:

Nå lager vi en serie i dette eksemplet ved å bruke “PD.Serie () ”-metode og legg til“ Frankrike, Colombia, Canada, Kina, Puerto Rico, Canada og Los Angeles ”i IT. Vi lagrer denne serien i "My_Series" -variabelen og legger til denne variabelen i "Print ()". Nå bruker vi “Str.FindAll () ”-metode til denne serien for å finne og trekke ut strengen fra serien. Vi plasserer “ITM [0]”. Deretter bruker vi "for" og skriver deretter "ITM" etter "for". Så plasserer du "in" nøkkelordet og navnet på serien sammen med “Str.FindAll () ”-metode. Dette fungerer som løkken og sjekker alle verdiene i serien.

I “Str.FindAll () ”-metode, plasserer vi“ CC ”som sjekker dataene i serien og returnerer verdien som starter med bokstaven“ C ”eller“ C ”. Vi initialiserer "data" -variabelen med denne "STR.FindAll () ”-metode. Verdiene vi får etter å ha brukt “Str.FindAll () "til" My_series "lagres i" data "-variabelen. Deretter benyttet vi “print ()” der variabelen “data” blir lagt til. Verdiene vi får etter å ha brukt “Str.FindAll () ”til serien vises.

Den komplette serien vises her. Verdiene til serien som starter med “C” eller “C” -karakteren blir trukket ut fra denne serien og vises i følgende:

Eksempel 4:

Vi importerer "pandaene" så vel som "re" i dette eksemplet. Etter å ha importert begge deler, genererer vi en dataaframe med navnet “Data_DataFrame”. I denne DataFrame er kolonnene som vi la til “Column_1, Column_2, Column_3 og Column_4”. “Column_1” inneholder “15, 11, 19, 10, 18, 19, 20, 21”. “Column_2” inneholder “A, B C, D, E, F, G og H”. Så har vi “Column_3”, og vi legger også til dataene som er “A, B, C, D, E, F, G og H”. Den siste kolonnen, "Column_4" inneholder "ABC (kapital), ABB, AAA (kapital), YHN, ABC, PLM (kapital), Qaz og YGV (kapital)".

Deretter gjengir vi denne "data_dataframe". Nå plasserer vi "DEF" nøkkelordet og definerer "Clean_names ()" -funksjonen der vi legger til "Column_4". Deretter bruker vi “hvis” nedenfor der vi bruker “Search ()” -metoden for “re” og setter “((.*”Som den første parameteren og“ Column_4 ”som den andre parameteren. Den søker i "(" -braketten i "Column_4" -dataene.

Etter dette plasserer vi den "nye" variabelen og initialiserer den med samme metode som er "re.Søk () ”-metode og passere de samme parametrene. Vi legger også til "start ()" med denne metoden. Deretter har vi "retur" nøkkelordet der vi får verdiene som er lagret i den "nye" variabelen og returnerer det her. Vi legger også til "ellers". Etter dette legger vi til en ny "Column_4" og legger til "Clean_Names" -funksjonen med denne "Column_4". Den fjerner alle navnene som er til stede i “(” braketten i “Column_4”. Deretter bruker vi "trykket" igjen.

I den første DataFrame inneholder kolonnen_4 navnene som er til stede i braketten. I det følgende DataFrame blir disse navnene som er lagt til i parentes fjernet, og bare verdiene til "Column_4" vises:

Konklusjon

Vi skrev denne artikkelen for å forklare "Pandas regex" -konseptet i detalj. Vi diskuterte at "regex" lar oss bruke mange funksjoner for å filtrere dataene fra Dataframe eller serien i "Pandas". Vi brukte “Str.Match () ”og“ erstatt () ”-metoder på“ Pandas ”DataFrame. Vi brukte også “Str.FindAll () ”-metode på serien i kodene våre. Vi importerte "re" -pakken i det siste eksemplet og benyttet metoden som er "re.Søk () ”-metode for å søke i dataene i denne opplæringen.