Pandas sammenligner to Dataframes rad for rad

Pandas sammenligner to Dataframes rad for rad
En dataaframe er en todimensjonal struktur laget av rader og kolonner der data oppbevares i tabellformat. Det er fleksibelt når det gjelder lengde og forskjellige tabelldata. Aritmetiske beregninger kan gjøres på raden så vel som på kolonnens etiketter. Når du arbeider med Pandas Dataframes, kan det hende du må finne ut om to dataframmer er likeverdige eller ikke.

Pand som sammenligningsmetode

I pandaer viser sammenligningsmetoden variansene mellom to dataframmer. Denne metoden sammenligner to datarammer, rad-for-rad og kolonne-for-kolonne. Det viser deretter forskjellene ved siden av hverandre. Sammenlignfunksjonen kan bare sammenligne dataframmer for en lignende struktur, med samme rad- og kolonnenavn og like store størrelser.

Det følger følgende syntaks:

La oss kort diskutere parametrene.

De “DF_2” er en hvilken som helst dataaframe for sammenligning. De “Align_axis” Angir sammenligningsaksene, med 0 for rader og 1 for kolonner som standardverdi. De “Keep_shape” Parameter er en boolsk verdi. Å sette dette til "sant" forbyr enhver rad eller kolonne å bli eliminert. For standardverdien "False", sammenligner den dråper kolonner og rader som har alle attributter som er de samme for de to datarammene. Et annet boolsk argument er “Keep_equal”. De to Dataframes viser like verdier. Når dette er satt til “True”, viser det posisjonene for de to datarammene med de identiske verdiene som NAN for standardinnstillingen “FALSE”.

Eksempel: Bruke Pandas sammenligne metode

Vi har brukt "Spyder" -verktøyet her. Åpne en ny Python -fil i "Spyder" -verktøyet. Vi må "importere pandaer som PD" for å få tilgang til Pandas -funksjoner. Det er ekstremt viktig å merke seg at Pandas -utgavene må være 1.1.0 eller høyere. Vi har da opprettet vår første DataFrame ved å bruke Pandas -metoden “PD.DataFrame () ”og lagret denne DataFrame i en variabel“ first_table ”.

Vi har initialisert denne dataaframe med tre kolonner “Produkt”, “Pris” og “Quantity”. Hver kolonne lagrer samme lengde på verdiene som er fem. Det første kolonnen "produktet" av "First_table" DataFrame lagrer fem strengverdier som er "akryl", "lerret", "blyanter", "notatbøker" og "børster". Vår andre kolonne “Price” lagrer 5 INT -verdier som er “260”, “100”, “25”, “350” og “200”. Den siste kolonnen her er "kvantitet" og lagrer også INT -verdier som er "1", "2", "5", "3" og "6". I den siste linjen i skriptet har vi brukt "Print ()" -funksjonen for å vise vår første DataFrame.

Når du trykker på "Kjør fil" -knappen eller bruker "Spyder" -verktøyet "Skift+Enter" -tastene på tastaturet. Utgangen som vises på terminalen viser en dataaFrame med 3 kolonner som er opprettet vellykket.

Det må være to dataaframe for å sammenligne dem. Vi har allerede laget vår første DataFrame “First_Table”. Nå må vi generere den andre DataFrame. Før vi konstruerer det andre DataFrame, må vi huske på noen begrensninger som vi har nevnt i innføring. Begge dataframene skal ha de samme kolonnenavnene, eksakte former og like lengde. Først da kan vi bruke sammenligningsmetoden.

For å generere den andre DataFrame har vi kopiert den første DataFrame “First_Table” -strukturen med noen endringer. Vi har opprettet en "Second_Table" DataFrame og tildelt den utgangen av å kalle “DataFrame.Copy () ”-metode. “.Copy () ”-funksjonen vil kopiere tabellstrukturen til“ first_table ”DataFrame. Vi ønsker å kopiere formen, men trenger å endre noen verdier i den nye DataFrame, slik at vi bruker ".loc ”eiendom her. Denne egenskapen spesifiserer stedet der du vil tilføre verdi. Det fungerer med "Second_Table" nytt DataFrame -navn med ".loc [0, 'pris'] = 300 ”. Ved "0" -indeksen for "Pris" -kolonnen i "Second_Table" DataFrame vil den plassere verdien "300".

Ved indeksplassering "1" av "Pris" -kolonnen plasseres verdien "120". Indeksen loc “2” i "pris" -kolonnen lagrer verdien "20". Og de resterende to verdiene vil bli kopiert som fra "First_table" -kolonnen "Pris". Tilsvarende, ved indeksen loc "0" i "mengde" -kolonnen, endres verdien til "2". LOC “1” av "mengde" -kolonnen har verdi "3". LOC “2” av “Quantity” -kolonnen har satt verdien “6”. Resten av verdiene vil bli kopiert fra "first_table" -kolonnen "mengde" som den er. Vi benyttet oss av “Print ()” -funksjonen for å stille ut den andre DataFrame på terminalen.

Når utgangen vises, kan du observere at "Second_Table" har alle de samme kolonnene som "first_table". De endrede verdiene for "pris" og "mengde" -kolonnene blir implementert på de medfølgende stedene.

Her begynner hovedoppgaven. Vi må nå sammenligne begge DataFrames. For dette vil vi bruke Pandas “DataFrame.Sammenlign () ”-metode.

Vi har påkalt “DataFrame.Sammenlign () ”-metode. Det følger syntaks som navnet på den første dataaframe “first_table” med “.Sammenlign () ”og mellom parentesene til“.Sammenlign () ”-metode. Oppgi navnet på den andre DataFrame “Second_Table”. Vi har laget en variabel "sammenligning" for å lagre den resulterende DataFrame generert fra å sammenligne “First_table” og “Second_Table”. Til slutt blir metoden “Print ()” påkalt med "sammenligning" -variabelen som parameter for å vise den resulterende DataFrame.

Her er utdataene DataFrame med sammenligningen av begge DataFrames 'distinkte verdier. Som standard slipper det de samme verdiene. Sammenligningen gjøres kolonnevis av standardinnstillingene.

Hvis vi nå ønsker å trekke en sammenligningsrekkevis, må vi endre parameteren "Align-Axis" -verdien. Standardverdien er “1” som vil trekke en sammenligningskolonne-vis. Vi har satt “Align_axis = 0”, så tabellradene trekkes sekvensielt fra meg selv og andre. Vi kalte da “Print ()” -funksjonen for å vise resultatet.

Utgangsbildet nedenfor viser en dataafram tegnet med en radmessig sammenligning.

Bruke ".Sammenlign () "-metode Argumenter" Hold form "for å vise alle oppføringene i" sammenligning "-tabellen". Som standard er "keep_shape" satt til "falsk". Hvis "sant", er alle rader og kolonner inkludert i tabellen; Ellers er det bare de med forskjellige verdier som holdes.

Du kan se utdataene viser alle kolonnene og radene, men de samme verdiene vises som "nan" her og distinkte verdier holdes som de er.

Hvis du nå vil vise alle verdiene uten å bli skrevet ut som "NANS", må du bruke "Keep_Shape = True" sammen med "Keep_equal = True" -parameteren. Hvis "Keep_equal" er satt til "True", inkluderer utgangen også like verdier. Likeverdier vises ellers som "NANS". Denne parameterens standardinnstilling er "falsk.”

Utgangen som vises på terminalen viser en datafram med en radmessig trukket sammenligning av alle verdiene til to dataframmer som holder de likeverdige som distinkte verdier.

Konklusjon

I denne guiden har vi diskutert sammenligningsteknikken til pandaer for å sammenligne to Dataframes. Vi har forklart syntaksen til Pandas “.Sammenlign () ”-funksjonen og dens parametere. Ved å bruke "Spyder" -verktøyet har vi implementert og utdypet eksemplet kodene i Python.