Pandas kopi

Pandas kopi
Python er et sterkt språk for dataanalyse, hovedsakelig på grunn av det sterke økosystemet i datasentriske Python-verktøy. Pandas er et av de verktøyene som letter enklere import og analyse av data.

Pandas -bibliotekets mest betydelige datastrukturer er dataframmer og serier. Internt er disse datastrukturene definert av indeksmatriser som merker data- og dataparrayene som lagrer de originale dataene. Vi kan gjøre det ved å bruke pandaene “Dataframe.Copy () ”-metode.

Pandas kopimetode

Kopi -metoden brukes for å kopiere den spesifiserte DataFrame. En DataFrame kan kopieres på to måter: “Dyp kopi” og “Grunt kopi”. Funksjonen "Deep Copy" bygger en DataFrame som inneholder en kopi av det spesifiserte DataFrames innhold og indekser. Metoden "Grunt kopi" genererer en ny DataFrame uten å kopiere innringingsobjektets innhold eller indekser- bare pekere på innholdet og indeksen er kopiert.

Syntaksen for kopimetoden er som følger:

"Deep" er et boolsk argument som avgjør om en dyp eller grunt kopi skal gjøres. "Deep Copy" er metodens standardinnstilling. Angi parameteren "dyp" verdi til "falsk" for å tillate grunt kopiering.

La oss se på den praktiske demonstrasjonen av denne metoden.

Eksempel: Bruke Pandas DataFrame.Copy () Metode

For implementeringen har vi brukt "Spyder" -verktøyet. Åpne en ny Python -fil i "Spyder" -verktøyet. Det viktigste kravet når du begynner å skrive skriptet er å importere relevante biblioteker. Ettersom vi må implementere en "pandas" -metode, så bruker vi "import pandaer som PD" for å få tilgang til funksjonene til "pandaer". Deretter starter vi vår viktigste Python -kode.

Vi har opprettet en dataaframe ved å bruke “PD.DataFrame () ”-metode. DataFrame blir initialisert med to kolonner “Navn” og “Age”. Begge DataFrames kolonner lagrer samme lengde på verdiene. Den første kolonnen "Navn" har fem strengverdier som er "Charlie", "Bush", "Harry", "Robert" og "Albert". Den andre kolonnen "Age" lagrer også fem verdier som har INT -datatype som er "25", "33", "18", "29" og "20". Vi opprettet en variabel "demo" for å lagre den nyoppførte Dataframe i den.

Nå kan vi få tilgang til DataFrame vår ved å bruke denne "demo" -variabelen. Vi bruker metoden “Print ()” for å vise teksten “Faktisk DataFrame”. Påkall deretter en annen "print ()" -metode for å vise DataFrame.

Trykk på "Kjør fil" -knappen på "Spyder" -verktøyet for å se utdataene på terminalen. Den resulterende skjermen viser oss en nyopprettet DataFrame med 2 kolonner og en overskrift på toppen av den.

Etter at vi har oppnådd dette, vil vi begynne vår viktigste oppgave i Python Code. For dette bruker vi Pandas “DataFrame.Copy () ”-metode. Vi påkaller “.copy () ”-metode med navnet på vår dataaFrame“ Demo ”. Som vi ønsker å lage en "dyp kopi" av DataFrame, så bruker vi funksjonen med standardverdien som er "dyp = sann". En variabel “demo_dcopy” opprettes for å lagre utgangen av å ringe “.Copy () ”-metode. Vi kan nå få tilgang til denne "dype kopien" av selve DataFrame av "Demo_Dcopy" -variabelen. Vi bruker "print ()" -funksjonen for å vise en tekst "dyp kopi av faktisk DataFrame:" og for å stille ut innhold av "Demo_dcopy" -variabelen.

Hvis vi utfører koden ovenfor, vises to dataframmer på konsollen. Den første er selve DataFrame, mens den andre er den "dype kopien" av selve DataFrame. Vi kan se at alt innholdet og indeksene til den faktiske DataFrame er kopiert i den "dype kopien" av det.

La oss nå sjekke hva som skjer i den "dype kopien" hvis vi har gjort noen endringer i selve DataFrame. For å gjøre noen endringer, bruker vi "ILOC" -egenskapen, som brukes til å lokalisere den spesifiserte indeksen. Skriv navnet på den faktiske DataFrame “Demo” med “.ILOC ”og spesifiser indeksplassering“ [0, 1] = 3 ”som vil lokalisere den første verdien av" alder "-kolonnen i den faktiske DataFrame og endre den til" 3 ". Vi påkaller igjen metoden “Print ()” for å vise den faktiske DataFrame “Demo” med endringer og “Deep Copy” av den faktiske DataFrame “Demo_Dcopy” for å se om endringer reflekterer i den eller ikke.

Utgangen på terminalen viser oss to dataframmer etter at vi endret en verdi i selve DataFrame. Du kan observere at den faktiske DataFrame -kolonnen "Age" har sin første verdi endret fra "25" til "3". Mens den "dype kopien" av selve DataFrame med modifiseringsspeil ingen endringer, noe som betyr at endringer som er gjort i den faktiske DataFrame, ikke endrer "dyp kopi" av den DataFrame.

Nå skal vi undersøke hva som skjer hvis vi bygger en "grunt kopi" av den første DataFrame.

For denne illustrasjonen bruker vi DataFrame opprettet ovenfor. Vi må nå lage en grunne kopi av selve DataFrame etter å ha skrevet ut den. Vi bruker pandaene “DataFrame.copy () ”metode igjen på samme måte som vi brukte den i eksemplet ovenfor med ett unntak" med ett unntak ". Her endrer vi den "dype" eiendommens verdi til "falsk" for å lage en "grunt kopi" av selve DataFrame. Så vi vil skrive det “Demo.Kopi (dyp = falsk) ” . Vi har laget en variabel "demo_scopy" for å lagre resultatet av å ringe ".Copy () ”-metode som vil være en" grunt kopi "av selve DataFrame. Deretter benyttet vi “print ()” -metoden for å vise teksten “Grunt kopi av faktisk DataFrame:” og for å stille ut innholdet som er lagret i "Demo_scopy" -variabelen.

Utgangen viser 2 dataframmer. Den første er selve DataFrame, mens den andre er dens "grunne kopi". Vi kan se at alt fra selve DataFrame er kopiert til den "grunne kopien" av den.

Vi utforsker nå hva som vil skje med "grunne kopi" hvis vi gjør noen endringer i selve DataFrame. For dette bruker vi “DataFrame.iloc ”eiendom. Her vil vi at "ILOC" -egenskapen skal få tilgang til "3" -indeksen for "alder" -kolonnen i den faktiske DataFrame og endre den til "-5". Deretter påberopes "print ()" "-funksjonen for å vise teksten“ Faktisk DataFrame etter modifisering: ”og også for å vise den faktiske DataFrame“ Demo ”. Igjen kalles metoden “Print ()” for å vise teksten “Grunt kopi av DataFrame etter modifisering:” og innholdet i "Demo_scopy" -variabelen.

Utgangen viser den faktiske DataFrame med en endret verdi “-5” der indeksnummeret var “3”. Etter at vi har gjort endringene i den faktiske DataFrame “Demo”, viser vi dens “grunne kopi” som viser de samme endringene som vi har gjort i selve DataFrame. Dette betyr at eventuelle endringer som er gjort i selve DataFrame, vil også bli speilet i sin "grunne kopi".

Konklusjon

Denne opplæringen er en guide for deg å forstå konseptet og ideen om å lage en kopi av en dataaframe. Vi har introdusert deg for Pandas “DataFrame.Copy () ”-metode. Vi forklarte deg også de to forskjellige tilnærmingene til å kopiere en Dataframe: dyp kopi og grunne kopi.