Tento článok ukazuje, ako vyhľadať duplikáty v dátach a odstrániť ich pomocou funkcií Pandas Python.
V tomto článku sme prevzali súbor údajov o populácii rôznych štátov v USA, ktorý je k dispozícii v a .formát súboru CSV. Budeme čítať .súbor CSV, aby sa pôvodný obsah tohto súboru zobrazil nasledovne:
importovať pandy ako pddf_state = pd.read_csv ("C: / Users / DELL / Desktop / populacia_ds.csv ")
print (df_state)
Na nasledujúcej snímke obrazovky môžete vidieť duplicitný obsah tohto súboru:
Identifikácia duplikátov v Pandas Python
Je potrebné zistiť, či údaje, ktoré používate, majú duplicitné riadky. Ak chcete skontrolovať duplikáciu údajov, môžete použiť ktorúkoľvek z metód uvedených v nasledujúcich častiach.
Metóda 1:
Prečítajte si súbor CSV a vložte ho do dátového rámca. Potom identifikujte duplicitné riadky pomocou duplikované () funkcia. Nakoniec použite príkaz na tlač na zobrazenie duplicitných riadkov.
importovať pandy ako pddf_state = pd.read_csv ("C: / Users / DELL / Desktop / populacia_ds.csv ")
Dup_Rows = df_state [df_state.duplikované ()]
print ("\ n \ nDuplicitné riadky: \ n ".formát (Dup_Rows))
Metóda 2:
Pomocou tejto metódy sa is_duplicated stĺpec bude pridaný na koniec tabuľky a v prípade duplikovaných riadkov označený ako „True“.
importovať pandy ako pddf_state = pd.read_csv ("C: / Users / DELL / Desktop / populacia_ds.csv ")
df_state ["is_duplicate"] = df_state.duplikované ()
print ("\ n ".formát (df_state))
Ukladanie duplikátov do Pandas Python
Duplikované riadky je možné z dátového rámca odstrániť pomocou nasledujúcej syntaxe:
drop_duplicates (subset = ", keep =", inplace = False)
Vyššie uvedené tri parametre sú voliteľné a sú vysvetlené podrobnejšie nižšie:
zachovať: tento parameter má tri rôzne hodnoty: First, Last a False. Prvá hodnota zachováva prvý výskyt a odstraňuje následné duplikáty, posledná hodnota uchováva iba posledný výskyt a odstraňuje všetky predchádzajúce duplikáty a nesprávna hodnota odstraňuje všetky duplikované riadky.
podmnožina: štítok používaný na identifikáciu duplikovaných riadkov
na mieste: obsahuje dve podmienky: True a False. Tento parameter odstráni duplicitné riadky, ak je nastavený na True.
Odstráňte duplikáty, pričom sa zachová iba prvý výskyt
Ak použijete príkaz „keep = first“, zachová sa iba výskyt prvého riadku a odstránia sa všetky ostatné duplikáty.
Príklad
V tomto príklade sa zachová iba prvý riadok a zvyšné duplikáty sa odstránia:
importovať pandy ako pddf_state = pd.read_csv ("C: / Users / DELL / Desktop / populacia_ds.csv ")
Dup_Rows = df_state [df_state.duplikované ()]
print ("\ n \ nDuplicitné riadky: \ n ".formát (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (keep = 'first')
print ('\ n \ nVýsledok DataFrame po odstránení duplikátov: \ n', DF_RM_DUP.hlava (n = 5))
Na nasledujúcej snímke obrazovky je zachovaný výskyt prvého riadku zvýraznený červenou farbou a zvyšné duplikáty sú odstránené:
Odstráňte duplikáty, pričom sa zachová iba posledná udalosť
Ak použijete príkaz „keep = last“, odstránia sa všetky duplicitné riadky okrem posledného výskytu.
Príklad
V nasledujúcom príklade sú odstránené všetky duplikované riadky, okrem iba posledného výskytu.
importovať pandy ako pddf_state = pd.read_csv ("C: / Users / DELL / Desktop / populacia_ds.csv ")
Dup_Rows = df_state [df_state.duplikované ()]
print ("\ n \ nDuplicitné riadky: \ n ".formát (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (keep = 'last')
print ('\ n \ nVýsledok DataFrame po odstránení duplikátov: \ n', DF_RM_DUP.hlava (n = 5))
Na nasledujúcom obrázku sú duplikáty odstránené a je uchovaný iba posledný výskyt riadku:
Odstrániť všetky duplicitné riadky
Ak chcete z tabuľky odstrániť všetky duplicitné riadky, nastavte príkaz „keep = False“ takto:
importovať pandy ako pddf_state = pd.read_csv ("C: / Users / DELL / Desktop / populacia_ds.csv ")
Dup_Rows = df_state [df_state.duplikované ()]
print ("\ n \ nDuplicitné riadky: \ n ".formát (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (keep = False)
print ('\ n \ nVýsledok DataFrame po odstránení duplikátov: \ n', DF_RM_DUP.hlava (n = 5))
Ako môžete vidieť na nasledujúcom obrázku, z dátového rámca sa odstránia všetky duplikáty:
Odstrániť súvisiace duplikáty zo zadaného stĺpca
Funkcia štandardne kontroluje všetky duplikované riadky zo všetkých stĺpcov v danom dátovom rámci. Môžete však tiež určiť názov stĺpca pomocou parametra podmnožiny.
Príklad
V nasledujúcom príklade sú všetky súvisiace duplikáty odstránené zo stĺpca „Štáty“.
importovať pandy ako pddf_state = pd.read_csv ("C: / Users / DELL / Desktop / populacia_ds.csv ")
Dup_Rows = df_state [df_state.duplikované ()]
print ("\ n \ nDuplicitné riadky: \ n ".formát (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (podmnožina = 'štát')
print ('\ n \ nVýsledok DataFrame po odstránení duplikátov: \ n', DF_RM_DUP.hlava (n = 6))
Záver
Tento článok vám ukázal, ako odstrániť duplicitné riadky z dátového rámca pomocou drop_duplicates () funkcia v Pandas Python. Pomocou tejto funkcie môžete tiež vyčistiť svoje údaje z duplikácie alebo nadbytočnosti. Tento článok tiež ukázal, ako identifikovať všetky duplikáty v dátovom rámci.