Pandas omformet

Pandas omformet
“Data eksisterer i en rekke størrelser og former. Vi krever ofte omforming av dataene når vi arbeider med dem, slik at de ideelt blir assimilert for den nåværende oppgaven. Vi vil undersøke 2 enkle metoder for å omforme en datafram i denne artikkelen.”

Vi kan bruke “PD.pivot () ”-funksjon for å omforme DataFrame fra det eksisterende lange formatet til en lang. En ny DataFrame kan produseres ved hjelp av pivotfunksjonen fra en eksisterende. “PD.Pivot () ”godtar tre argumenter. For å bruke denne metoden, må vi bruke følgende syntaks:

“PD.Melt () ”-metode kan brukes til å konvertere DataFrame fra bredt til langt format. Når det er nødvendig for å bruke en bestemt kolonne som identifikator, kan denne funksjonen brukes. Syntaks for å bruke denne metoden er gitt her:

Den praktiske implementeringen av disse to teknikkene vil bli lært i denne opplæringen ved hjelp av Python -programmer.

Eksempel 1: Bruke Pandas Pivot () -metoden for å omforme DataFrame fra lang til bred

Den første illustrasjonen vil implementere konseptet med å bruke pandaene “PD.pivot () ”-metode for å omforme DataFrame fra et langt format til et bredt. La oss se hvordan det fungerer.

"Spyder" -verktøyet lanseres for å sammenstille Python -programmet ved å bruke miljøet. Koden begynte med å importere Pandas -biblioteket. I tillegg har vi laget "PD" aliaset for "Pandas".

For å konstruere en dataaframe, bruker vi Pandas -metoden “PD.Dataramme()". Denne metoden skaper en dataaframe med leverte verdier. “PD.DataFrame () ”-metoden påberopes for å bygge en DataFrame med 3 kolonner“ Group ”,“ Task ”og“ Score ”. Kolonnene kan lagre verdier med forskjellige datatyper, men verdiene vil forbli lik for alle kolonnene. Den første kolonnen, "Group", inneholder strengtyper av verdier som er "x", "x", "x", "y", "y", "y", "z", "z" og "z ”. Den andre kolonnen, "Oppgave", har heltallverdier; “4”, “5”, “6”, “4”, “5”, “6”, “4”, “5” og “6”. For den siste kolonnen, "Score", har vi spesifisert verdier som "13", "18", "3", "9", "11", "15", "5", "14" og "21".

“PD.DataFrame () ”-metoden vil generere en DataFrame med disse medfølgende verdiene. For å lagre innholdet i dette DataFrame, har vi laget et DataFrame -objekt, "Konkurranse". Dette objektet vil holde ut DataFrame som skal brukes etterpå. For å se den, brukes Pythons metode, som er "print ()". "Print ()" -metoden vil ta DataFrame -objektet "konkurranse" som inndata og utvise innholdet i utgangsvinduet.

For å utføre skriptet, må vi bare trykke på alternativet "Run File", og utdataene vises. Her fikk vi en dataaframe med 3 kolonner som holder 9 rader. Vi kan se at "gruppen" -kolonnen har tre unike verdier, som er "x", "y" og "z". Og kolonnen "Oppgave" har også tre distinkte verdier "4", "5" og "6".

For å omforme denne lange dataaframmen til en bred, vil vi derfor bruke den pandas-leverte funksjonen “PD.dreie()". Vi påkalte “PD.Pivot () ”-metode og passerte 4 parametere som er“ DF ”,“ Indeks ”,“ kolonner ”og“ Verdier ”. "DF" er navnet på DataFrame som vi ga som "konkurranse". "Indeksen" vil ta i kolonnen, som må brukes som indekskolonne. Her spesifiserte vi "gruppen" -kolonnen som "indeksen". Attributtet “Kolonner” får en kolonne hvis data den vil bruke som kolonnens etiketter. Vi ga kolonnen "oppgave" for attributtet "kolonner". Det vil ta de forskjellige verdiene fra "oppgaven" og lage dem kolonner. "Verdiene" vil trekke ut verdiene fra den medfølgende kolonnen, i.e., "SCORE" -kolonnen, og legg dem inn i de opprettede kolonnene som tilsvarer indeksen for disse verdiene. Resultatet vil bli presentert ved å kalle "print ()" -funksjonen.

Her kan vi se at "gruppe" -kolonnes distinkte verdier er satt som en indekskolonne, de unike verdiene fra "oppgaven" -kolonnen brukes som kolonnetitler, og verdiene er hentet fra "poengsum" -kolonnen. DataFrame er forstått i et bredt format ved å ødelegge det fra et langt arrangement.

Eksempel 2: Bruke Pandas Melt () -metoden for å omforme DataFrame fra bred til lang

Ovennevnte teknikk omformet Dataframe fra lang til bredt; Vi vil se det motsatte, som forvandler DataFrame fra et bredt format til et langt en. Denne forekomsten vil bruke pandaene “PD.smelte () ”-funksjon for å omforme vår leverte DataFrame i et langt format.

For å implementere denne metoden, trenger vi opprinnelig å konstruere DataFrame. Siden Pandas tilbyr oss en innebygd metode “PD.DataFrame () ”for å generere en dataaframe. Så vi påkalte denne funksjonen og initierte den med 5 kolonner. Kolonnene er "token" med strengdatatype, "bil", "lastebil", "buss" og "motorsykkel" med heltalldatatype. Verdiene for kolonnen "Token" er "P01", "P02", "P03" og "P04". For kolonnen "bil" er verdiene "18", "41", "39" og "24". Listen over verdier “11”, “33”, “17” og “25” er lagret i “lastebil” -kolonnen. "Bussen" har disse verdiene "42", "38", "10" og "21". Den siste kolonnen, "Motorbike," holder oppføringene "16", "34", "21" og "45".

For å bevare DataFrame, har vi generert et DataFrame -objekt, "Transport". For å sette dette innholdet på visningen, blir metoden “Print ()” påkalt med DataFrame -objektet som input.

Dataframet vårt med et bredt arrangement av verdier vises på Python -konsollen med 5 kolonner og 4 rader.

I denne demonstrasjonen vil vi utøve “PD.smelte () ”-metode for å oppnå det forventede utfallet.

“PD.smelte () ”-funksjon kalles. Her er attributtet den besitter "DF_Name", som vi har levert som "Transport", og "ID_VARS" tar kolonnen, som vil bli brukt som identifikator som vi skal smelte DataFrame. Vi har valgt kolonnen “Token” for “ID_VAR”. "Value_var" får kolonner som den må være upavner; Hvis vi ikke spesifiserer kolonner, vil det ta inn alle kolonnene bortsett fra det ene settet som identifikator. Så kolonnene vi leverte for å endre en "bil", "lastebil", "buss" og "motorsykkel". Vi har laget en variabel "transport" og tildelt den utdata generert ved å påkalle “PD.smelte () ”-funksjon. Til slutt blir resultatet presentert for å se ved å bruke "print ()" -metoden.

Det transformerte DataFrame vi får har blitt vist ved å omforme den til et langt format. Den lange DataFrame har 3 kolonner “Token”, “Variabel” og “Verdier”. "Tokenet" brukes som identifikator for resten av kolonnens verdier. "Variabelen" lagrer kolonnens etiketter i korrespondanse med identifikatoren. og "verdien" har verdiene for hver oppføring.

Konklusjon

Det kan være en situasjon der formen på DataFrame kanskje ikke passer til oppgaven din. DataFrame kan være i et langt format eller et bredt format. Den brede formaterte DataFrame kan omformes til en lang, og den lange formaterte DataFrame kan endres til et langt arrangement ved å bruke Pandas -metodene. For å konvertere DataFrame til et bredt format, har vi brukt “PD.Pivot () ”-funksjon ved å praktisk implementere den på Spyder -verktøyet. Tilsvarende, for å omforme det bredformede dataaframet til en lang, har vi brukt “PD.smelte () ”-funksjon i 2nd eksempel. Begge disse metodene er kjørbare og veldig nyttige når du finner behovet for å omforme Dataframe.