panda

Come eliminare righe duplicate in Pandas Python

Come eliminare righe duplicate in Pandas Python
Python è uno dei linguaggi di programmazione più popolari per l'analisi dei dati e supporta anche vari pacchetti incentrati sui dati Python. I pacchetti Pandas sono alcuni dei pacchetti Python più popolari e possono essere importati per l'analisi dei dati. In quasi tutti i set di dati, spesso esistono righe duplicate, che possono causare problemi durante l'analisi dei dati o le operazioni aritmetiche. L'approccio migliore per l'analisi dei dati è identificare eventuali righe duplicate e rimuoverle dal set di dati. Usando la funzione drop_duplicates() di Pandas, puoi facilmente eliminare o rimuovere record duplicati da un frame di dati.
Questo articolo mostra come trovare duplicati nei dati e rimuovere i duplicati utilizzando le funzioni Pandas Python.

In questo articolo, abbiamo preso un set di dati della popolazione di diversi stati negli Stati Uniti, che è disponibile in a .formato di file csv. leggeremo il .csv per mostrare il contenuto originale di questo file, come segue:

importa panda come pd
df_state=pd.read_csv("C:/Utenti/DELL/Desktop/population_ds.csv")
print(df_state)

Nella schermata seguente, puoi vedere il contenuto duplicato di questo file:

Identificazione dei duplicati in Pandas Python

È necessario determinare se i dati che stai utilizzando hanno righe duplicate. Per verificare la duplicazione dei dati, è possibile utilizzare uno dei metodi trattati nelle sezioni seguenti.

Metodo 1:

Leggi il file CSV e passalo nel frame di dati. Quindi, identifica le righe duplicate usando il duplicato() funzione. Infine, usa l'istruzione print per visualizzare le righe duplicate.

importa panda come pd
df_state=pd.read_csv("C:/Utenti/DELL/Desktop/population_ds.csv")
Dup_Rows = df_state[df_state.duplicato()]
print("\n\nRighe duplicate: \n ".formato(Dup_Rows))

Metodo 2:

Usando questo metodo, il è_duplicato la colonna verrà aggiunta alla fine della tabella e contrassegnata come "Vero" nel caso di righe duplicate.

importa panda come pd
df_state=pd.read_csv("C:/Utenti/DELL/Desktop/population_ds.csv")
df_state["is_duplicate"]= df_state.duplicato()
print("\n ".formato(df_state))

Eliminazione di duplicati in Pandas Python

Le righe duplicate possono essere rimosse dal frame di dati utilizzando la seguente sintassi:
drop_duplicates(subset=", keep=", inplace=False)
I tre parametri precedenti sono facoltativi e vengono spiegati più dettagliatamente di seguito:
mantenere: questo parametro ha tre diversi valori: Primo, Ultimo e Falso. Il valore First mantiene la prima occorrenza e rimuove i duplicati successivi, il valore Last mantiene solo l'ultima occorrenza e rimuove tutti i duplicati precedenti e il valore False rimuove tutte le righe duplicate.
sottoinsieme: etichetta utilizzata per identificare le righe duplicate
a posto: contiene due condizioni: Vero e Falso. Questo parametro rimuoverà le righe duplicate se è impostato su True.

Rimuovi i duplicati mantenendo solo la prima occorrenza

Quando usi "keep=first", verrà conservata solo l'occorrenza della prima riga e tutti gli altri duplicati verranno rimossi.

Esempio

In questo esempio, verrà conservata solo la prima riga e i restanti duplicati verranno eliminati:

importa panda come pd
df_state=pd.read_csv("C:/Utenti/DELL/Desktop/population_ds.csv")
Dup_Rows = df_state[df_state.duplicato()]
print("\n\nRighe duplicate: \n ".formato(Dup_Righe))
DF_RM_DUP = df_state.drop_duplicates(keep='first')
print('\n\nRisultato DataFrame dopo la rimozione dei duplicati :\n', DF_RM_DUP.testa(n=5))

Nella schermata seguente, l'occorrenza della prima riga conservata viene evidenziata in rosso e le rimanenti duplicazioni vengono rimosse:

Rimuovi i duplicati mantenendo solo l'ultima occorrenza

Quando usi "keep=last", tutte le righe duplicate tranne l'ultima occorrenza verranno rimosse.

Esempio

Nell'esempio seguente, tutte le righe duplicate vengono rimosse tranne solo l'ultima occorrenza.

importa panda come pd
df_state=pd.read_csv("C:/Utenti/DELL/Desktop/population_ds.csv")
Dup_Rows = df_state[df_state.duplicato()]
print("\n\nRighe duplicate: \n ".formato(Dup_Righe))
DF_RM_DUP = df_state.drop_duplicates(keep='ultimo')
print('\n\nRisultato DataFrame dopo la rimozione dei duplicati :\n', DF_RM_DUP.testa(n=5))

Nell'immagine seguente, i duplicati vengono rimossi e viene mantenuta solo l'ultima occorrenza di riga:

Rimuovi tutte le righe duplicate

Per rimuovere tutte le righe duplicate da una tabella, imposta "keep=False", come segue:

importa panda come pd
df_state=pd.read_csv("C:/Utenti/DELL/Desktop/population_ds.csv")
Dup_Rows = df_state[df_state.duplicato()]
print("\n\nRighe duplicate: \n ".formato(Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates(keep=False)
print('\n\nRisultato DataFrame dopo la rimozione dei duplicati :\n', DF_RM_DUP.testa(n=5))

Come puoi vedere nell'immagine seguente, tutti i duplicati vengono rimossi dal frame di dati:

Rimuovi i duplicati correlati da una colonna specificata

Per impostazione predefinita, la funzione controlla tutte le righe duplicate da tutte le colonne nel frame di dati specificato data. Ma puoi anche specificare il nome della colonna usando il parametro del sottoinsieme.

Esempio

Nell'esempio seguente, tutti i duplicati correlati vengono rimossi dalla colonna "Stati".

importa panda come pd
df_state=pd.read_csv("C:/Utenti/DELL/Desktop/population_ds.csv")
Dup_Rows = df_state[df_state.duplicato()]
print("\n\nRighe duplicate: \n ".formato(Dup_Righe))
DF_RM_DUP = df_state.drop_duplicates(subset='Stato')
print('\n\nRisultato DataFrame dopo la rimozione dei duplicati :\n', DF_RM_DUP.testa(n=6))

Conclusione

Questo articolo ti ha mostrato come rimuovere le righe duplicate da un frame di dati usando il drop_duplicates() funzione in Panda Python. Puoi anche cancellare i tuoi dati di duplicazione o ridondanza usando questa funzione. L'articolo ti ha anche mostrato come identificare eventuali duplicati nel frame di dati.

Le migliori distribuzioni Linux per il gioco nel 2021
Il sistema operativo Linux ha fatto molta strada dal suo aspetto originale, semplice e basato su server. Questo sistema operativo è notevolmente migli...
Come acquisire e riprodurre in streaming la tua sessione di gioco su Linux
In passato, giocare era considerato solo un hobby, ma con il tempo l'industria dei giochi ha visto una crescita enorme in termini di tecnologia e nume...
I migliori giochi da giocare con il tracciamento delle mani
Oculus Quest ha recentemente introdotto la grande idea del tracciamento manuale senza controller. Con un numero sempre crescente di giochi e attività ...