Le più considerevoli strutture di dati della Biblioteca Pandas sono frame e serie. Internamente, queste strutture di dati sono definite da array di indici che etichettano i dati e gli array di dati che archiviano i dati originali. Possiamo farlo utilizzando i Pandas “DataFrame.Metodo copy () ".
Metodo di copia Pandas
Il metodo di copia viene utilizzato per copiare il frame dati specificato. Un frame di dati può essere copiato in due modi: "copia profonda" e "copia superficiale". La funzione "Deep Copy" crea un telaio di dati contenente una copia del contenuto e degli indici del frame dati specificato. Il metodo "copia superficiale" genera un nuovo telaio di dati senza copiare il contenuto o gli indici dell'oggetto chiamante: vengono copiati solo i puntatori del contenuto e dell'indice.
La sintassi per il metodo di copia è la seguente:
"Deep" è un argomento booleano che determina se debba essere fatta una copia profonda o superficiale. "Deep Copy" è l'impostazione predefinita del metodo. Impostare il parametro "profondo" su "falso" per consentire una copia superficiale.
Diamo un'occhiata alla dimostrazione pratica di questo metodo.
Esempio: utilizzando Pandas DataFrame.Metodo Copy ()
Per l'implementazione, abbiamo usato lo strumento "Spyder". Apri un nuovo file Python nello strumento "Spyder". Il requisito più importante quando si inizia a scrivere lo script è importare librerie pertinenti. Dato che dobbiamo implementare un metodo "panda", quindi utilizziamo "import panda come pd" per accedere alle caratteristiche di "panda". Quindi, iniziamo il nostro codice Python principale.
Abbiamo creato un frame dati utilizzando il "PD.Metodo DataFrame () ". Il frame dati è inizializzato da due colonne "nome" e "età". Entrambe le colonne di DataFrame archiviano la stessa lunghezza dei valori. La prima colonna "Name" ha cinque valori di stringa che sono "Charlie", "Bush", "Harry", "Robert" e "Albert". La seconda colonna "Age" memorizza anche cinque valori con un tipo di dati int che sono "25", "33", "18", "29" e "20". Abbiamo creato una "demo" variabile per archiviare il frame dati di nuova costruzione in esso.
Ora possiamo accedere al nostro telaio di dati utilizzando questa variabile "demo". Utilizziamo il metodo "Print ()" per visualizzare il testo "Frame dati effettivo". Quindi, invoca un altro metodo "print ()" per visualizzare il frame dati.
Premere il pulsante "Esegui file" sullo strumento "Spyder" per visualizzare l'output sul terminale. La schermata risultante ci mostra un frame di dati appena creato con 2 colonne e una voce sopra.
Dopo aver realizzato questo, inizieremo il nostro principale compito nel codice Python. Per questo, utilizziamo i Pandas “DataFrame.Metodo copy () ". Invochiamo il ".Metodo copy () "con il nome del nostro telaio di dati" Demo ". Dato che vogliamo creare una "copia profonda" del frame dati, quindi utilizziamo la funzione con il suo valore predefinito che è "profondo = vero". Viene creata una variabile "Demo_dcopy" per archiviare l'output di chiamare ".Metodo copy () ". Ora possiamo accedere a questa "copia profonda" del frame dati effettivo mediante la variabile "demo_dcopy". Utilizziamo la funzione "Print ()" per visualizzare un testo "Copia profonda di DataFrame effettivo:" e per mostrare il contenuto della variabile "Demo_Dcopy".
Se eseguiamo il codice sopra, vengono visualizzati due frame dati sulla console. Il primo è il frame dati effettivo mentre l'altro è la "copia profonda" del frame dati effettivo. Possiamo vedere che tutti i contenuti e gli indici del telaio effettivo sono copiati nella "copia profonda".
Ora, controlliamo cosa succede nella "copia profonda" se abbiamo apportato alcune modifiche al frame dati effettivo. Per apportare alcune modifiche, utilizziamo la proprietà "Iloc", che viene utilizzata per individuare l'indice specificato. Scrivi il nome dell'attuale frame dati "Demo" con ".ILoc "e specificare la posizione dell'indice" [0, 1] = 3 "che individua il primo valore della colonna" Age "nel frame dati effettivo e lo cambierà in" 3 ". Invochiamo nuovamente il metodo "print ()" per visualizzare il frame dati effettivo "demo" con le modifiche e la "copia profonda" del frame dati effettivo "demo_dcopy" per vedere se le modifiche riflettono in esso o no.
L'output sul terminale ci mostra due frame dati dopo aver modificato un valore nel frame dati effettivo. Puoi osservare che la colonna di dati effettive "età" ha il suo primo valore cambiato da "25" a "3". Mentre la "copia profonda" del telaio di dati effettivo con modifica non rispecchia modifiche, il che significa che eventuali modifiche apportate nel telaio effettivo non alterano la "copia profonda" di tale telaio dati.
Ora esamineremo cosa succede se creiamo una "copia superficiale" del telaio di dati iniziale.
Per questa illustrazione, utilizziamo il telaio di dati creato sopra. Ora dobbiamo creare una copia superficiale del telaio effettivo dopo averlo stampato. Utilizziamo i Pandas “DataFrame.Copy () "di nuovo allo stesso modo in cui l'abbiamo usato nell'esempio sopra" Copia profonda "con un'eccezione. Qui, cambiamo il valore della proprietà "profondo" in "falso" per creare una "copia superficiale" del telaio dati effettivo. Quindi, lo scriveremo “Demo.Copia (deep = false) " . Abbiamo creato una variabile "demo_scopy" per archiviare il risultato di chiamare ".Metodo copy () "che sarà una" copia superficiale "del telaio effettivo. Quindi, abbiamo utilizzato il metodo "print ()" per visualizzare il testo "copia superficiale del frame dati effettivo:" e per mostrare il contenuto memorizzato nella variabile "Demo_scopy".
L'output mostra 2 frame dati. Il primo è il frame dati effettivo mentre l'altro è la sua "copia superficiale". Possiamo vedere che tutto, dall'effettivo telaio viene copiato alla "copia superficiale".
Ora esploriamo cosa succederebbe a "copia superficiale" se facciamo alcune modifiche nel frame dati effettivo. Per questo, utilizziamo il "dati di dati.Proprietà ILoc ". Qui vogliamo che la proprietà "Iloc" acceda all'indice "3" della colonna "Age" nel telaio effettivo e lo modifichi in "-5". Quindi, la funzione "Print ()" viene invocata per visualizzare il testo "Frame di dati effettivo dopo la modifica:" e anche per visualizzare il frame dati effettivo "Demo". Ancora una volta, il metodo "Print ()" è chiamato per mostrare il testo "copia superficiale di DataFrame dopo la modifica:" e il contenuto della variabile "Demo_Scopy".
L'output mostra il frame dati effettivo con un valore modificato "-5" in cui il numero dell'indice era "3". Dopo che abbiamo apportato le modifiche alla "demo" di dati effettivi, visualizziamo la sua "copia superficiale" che visualizza le stesse modifiche che abbiamo apportato nel frame dati effettivo. Ciò significa che eventuali modifiche apportate nel gesto di dati effettive saranno rispecchiati anche nella sua "copia superficiale".
Conclusione
Questo tutorial è una guida per comprendere il concetto e l'idea di fare una copia di un frame dati. Ti abbiamo introdotto nei panda "DataFrame.Metodo copy () ". Ti abbiamo anche spiegato i due diversi approcci alla copia di un telaio di dati: copia profonda e copia superficiale.