panda

Cum se elimină rânduri duplicate în Pandas Python

Cum se elimină rânduri duplicate în Pandas Python
Python este unul dintre cele mai populare limbaje de programare pentru analiza datelor și acceptă, de asemenea, diferite pachete Python centrate pe date. Pachetele Pandas sunt unele dintre cele mai populare pachete Python și pot fi importate pentru analiza datelor. În aproape toate seturile de date, există deseori rânduri duplicate, care pot cauza probleme în timpul analizei datelor sau al operației aritmetice. Cea mai bună abordare pentru analiza datelor este identificarea oricăror rânduri duplicate și eliminarea lor din setul de date. Folosind funcția Pandas drop_duplicates (), puteți renunța sau elimina cu ușurință înregistrările duplicate dintr-un cadru de date.
Acest articol vă arată cum să găsiți duplicate în date și să eliminați duplicatele folosind funcțiile Pandas Python.

În acest articol, am luat un set de date al populației din diferite state din Statele Unite, care este disponibil într-un .format de fișier CSV. Vom citi .csv pentru a afișa conținutul original al acestui fișier, după cum urmează:

import panda ca pd
df_state = pd.read_csv ("C: / Users / DELL / Desktop / population_ds.CSV ")
print (df_state)

În următoarea captură de ecran, puteți vedea conținutul duplicat al acestui fișier:

Identificarea duplicatelor în Python Pandas

Este necesar să stabiliți dacă datele pe care le utilizați au rânduri duplicate. Pentru a verifica duplicarea datelor, puteți utiliza oricare dintre metodele acoperite în următoarele secțiuni.

Metoda 1:

Citiți fișierul CSV și treceți-l în cadrul de date. Apoi, identificați rândurile duplicate folosind duplicat () funcţie. În cele din urmă, utilizați declarația de imprimare pentru a afișa rândurile duplicate.

import panda ca pd
df_state = pd.read_csv ("C: / Users / DELL / Desktop / population_ds.CSV ")
Dup_Rows = df_state [df_state.duplicat ()]
print ("\ n \ nRânduri duplicate: \ n ".format (Dup_Rows))

Metoda 2:

Folosind această metodă, este_duplicat coloana va fi adăugată la sfârșitul tabelului și marcată ca „Adevărat” în cazul rândurilor duplicate.

import panda ca pd
df_state = pd.read_csv ("C: / Users / DELL / Desktop / population_ds.CSV ")
df_state ["is_duplicate"] = df_state.duplicat ()
print ("\ n ".format (df_state))

Eliminarea duplicatelor în Python Pandas

Rândurile duplicate pot fi eliminate din cadrul dvs. de date utilizând următoarea sintaxă:
drop_duplicates (subset = ", keep =", inplace = False)
Cei trei parametri de mai sus sunt opționali și sunt explicați mai detaliat mai jos:
a pastra: acest parametru are trei valori diferite: Prima, Ultima și False. Prima valoare păstrează prima apariție și elimină duplicatele ulterioare, ultima valoare păstrează doar ultima apariție și elimină toate duplicatele anterioare, iar valoarea falsă elimină toate rândurile duplicate.
subset: etichetă utilizată pentru a identifica rândurile duplicate
la loc: conține două condiții: Adevărat și Fals. Acest parametru va elimina rândurile duplicate dacă este setat la True.

Eliminați duplicatele păstrând numai prima apariție

Când utilizați „păstrați = primul”, va fi păstrată doar prima apariție de rând și toate celelalte dubluri vor fi eliminate.

Exemplu

În acest exemplu, doar primul rând va fi păstrat, iar duplicatele rămase vor fi șterse:

import panda ca pd
df_state = pd.read_csv ("C: / Users / DELL / Desktop / population_ds.CSV ")
Dup_Rows = df_state [df_state.duplicat ()]
print ("\ n \ nRânduri duplicate: \ n ".format (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (keep = 'first')
print ('\ n \ nRezultă DataFrame după eliminarea duplicatului: \ n', DF_RM_DUP.cap (n = 5))

În următoarea captură de ecran, apariția primului rând păstrat este evidențiată în roșu și duplicatele rămase sunt eliminate:

Eliminați duplicatele păstrând doar ultima apariție

Când utilizați „păstrați = ultimul”, toate rândurile duplicate, cu excepția ultimei apariții, vor fi eliminate.

Exemplu

În exemplul următor, toate rândurile duplicate sunt eliminate, cu excepția doar ultimei apariții.

import panda ca pd
df_state = pd.read_csv („C: / Users / DELL / Desktop / population_ds.CSV ")
Dup_Rows = df_state [df_state.duplicat ()]
print ("\ n \ nRânduri duplicate: \ n ".format (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (keep = 'last')
print ('\ n \ nRezultă DataFrame după eliminarea duplicatului: \ n', DF_RM_DUP.cap (n = 5))

În următoarea imagine, duplicatele sunt eliminate și se păstrează doar ultima apariție de rând:

Eliminați toate rândurile duplicate

Pentru a elimina toate rândurile duplicate dintr-un tabel, setați „păstrați = False”, după cum urmează:

import panda ca pd
df_state = pd.read_csv („C: / Users / DELL / Desktop / population_ds.CSV ")
Dup_Rows = df_state [df_state.duplicat ()]
print ("\ n \ nRânduri duplicate: \ n ".format (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (keep = False)
print ('\ n \ nRezultă DataFrame după eliminarea duplicatului: \ n', DF_RM_DUP.cap (n = 5))

După cum puteți vedea în următoarea imagine, toate duplicatele sunt eliminate din cadrul de date:

Eliminați duplicatele aferente dintr-o coloană specificată

În mod implicit, funcția verifică toate rândurile duplicate din toate coloanele din cadrul de date dat. Dar, puteți specifica și numele coloanei utilizând parametrul subset.

Exemplu

În exemplul următor, toate duplicatele aferente sunt eliminate din coloana „State”.

import panda ca pd
df_state = pd.read_csv ("C: / Users / DELL / Desktop / population_ds.CSV ")
Dup_Rows = df_state [df_state.duplicat ()]
print ("\ n \ nRânduri duplicate: \ n ".format (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (subset = 'State')
print ('\ n \ nRezultă DataFrame după eliminarea duplicatului: \ n', DF_RM_DUP.cap (n = 6))

Concluzie

Acest articol vă arată cum să eliminați rândurile duplicate dintr-un cadru de date folosind drop_duplicates () funcție în Pandas Python. De asemenea, puteți șterge datele de duplicare sau redundanță folosind această funcție. De asemenea, articolul vă arăta cum să identificați duplicatele din cadrul dvs. de date.

SuperTuxKart for Linux
SuperTuxKart is a great title designed to bring you the Mario Kart experience free of charge on your Linux system. It is pretty challenging and fun to...
Battle for Wesnoth Tutorial
The Battle for Wesnoth is one of the most popular open source strategy games that you can play at this time. Not only has this game been in developmen...
0 A.D. Tutorial
Out of the many strategy games out there, 0 A.D. manages to stand out as a comprehensive title and a very deep, tactical game despite being open sourc...