Ez a cikk bemutatja, hogyan találhat meg duplikátumokat az adatokban, és hogyan távolíthatja el a duplikátumokat a Pandas Python funkciók használatával.
Ebben a cikkben vettünk egy adatállományt az Egyesült Államok különböző államainak lakosságáról, amely a .csv fájlformátum. Elolvassuk a .csv fájl a fájl eredeti tartalmának megjelenítéséhez, az alábbiak szerint:
import pandák, mint pddf_state = pd.read_csv ("C: / Felhasználók / DELL / Asztal / populáció_ds.csv ")
nyomtatás (df_state)
A következő képernyőképen megtekintheti a fájl másolatát:
Ismétlődések azonosítása a Pandas Pythonban
Meg kell határozni, hogy a használt adatok duplikált-e sorokkal. Az adatok duplikációjának ellenőrzéséhez használhatja a következő szakaszokban leírt módszereket.
1. módszer:
Olvassa el a csv fájlt, és vigye át az adatkeretbe. Ezután azonosítsa az ismétlődő sorokat a duplikált () funkció. Végül a nyomtatási utasítással jelenítse meg az ismétlődő sorokat.
import pandák, mint pddf_state = pd.read_csv ("C: / Felhasználók / DELL / Asztal / populáció_ds.csv ")
Dup_Rows = df_state [df_state.duplikált ()]
print ("\ n \ nSorok duplikálása: \ n ".formátum (Dup_Rows))
2. módszer:
Ezzel a módszerrel a is_duplicate oszlop hozzáadódik a táblázat végéhez, és duplikált sorok esetén „Igaz” -ként lesz megjelölve.
import pandák, mint pddf_state = pd.read_csv ("C: / Felhasználók / DELL / Asztal / populáció_ds.csv ")
df_state ["is_duplicate"] = df_state.duplikált ()
print ("\ n ".formátum (df_state))
Másolatok eldobása a Pandas Pythonban
A duplikált sorok a következő szintaxissal távolíthatók el az adatkeretről:
drop_duplicates (részhalmaz = ", keep =", helyben = hamis)
A fenti három paraméter választható, és az alábbiakban részletesebben kifejtésre kerül:
tart: ennek a paraméternek három különböző értéke van: Első, Utolsó és Hamis. Az Első érték megőrzi az első előfordulást és eltávolítja a későbbi duplikátumokat, az Utolsó érték csak az utolsó előfordulást és az összes korábbi duplikátumot, a Hamis érték pedig az összes duplikált sort eltávolítja.
részhalmaz: a duplikált sorok azonosításához használt címke
a helyén: két feltételt tartalmaz: Igaz és Hamis. Ez a paraméter eltávolítja az ismétlődő sorokat, ha True értékre van állítva.
Távolítsa el a másolatokat, csak az első előfordulást megtartva
A „keep = first” használatakor csak az első sor előfordulása marad meg, és az összes másolat eltávolításra kerül.
Példa
Ebben a példában csak az első sor kerül megőrzésre, és a többi duplikátum törlődik:
import pandák, mint pddf_state = pd.read_csv ("C: / Felhasználók / DELL / Asztal / populáció_ds.csv ")
Dup_Rows = df_state [df_state.duplikált ()]
print ("\ n \ nSorok duplikálása: \ n ".formátum (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (keep = 'first')
print ('\ n \ nEredmény DataFrame ismétlődő eltávolítás után: \ n', DF_RM_DUP.fej (n = 5))
A következő képernyőképen a megtartott első sor előfordulása piros színnel van kiemelve, és a fennmaradó duplikációk eltávolításra kerülnek:
Távolítsa el a másolatokat, csak az utolsó előfordulást megtartva
A „keep = last” használatakor az utolsó előfordulás kivételével az összes duplikációs sor eltávolításra kerül.
Példa
A következő példában minden duplikált sort eltávolítunk, csak az utolsó előfordulást kivéve.
import pandák, mint pddf_state = pd.read_csv ("C: / Felhasználók / DELL / Asztal / populáció_ds.csv ")
Dup_Rows = df_state [df_state.duplikált ()]
print ("\ n \ nSorok duplikálása: \ n ".formátum (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (keep = 'last')
print ('\ n \ nEredmény DataFrame ismétlődő eltávolítás után: \ n', DF_RM_DUP.fej (n = 5))
A következő képen az ismétlődések eltávolításra kerülnek, és csak az utolsó sor előfordulása marad meg:
Távolítsa el az összes duplikált sort
Az összes ismétlődő sor eltávolításához a táblából állítsa be a „keep = False” beállítást az alábbiak szerint:
import pandák, mint pddf_state = pd.read_csv ("C: / Felhasználók / DELL / Asztal / populáció_ds.csv ")
Dup_Rows = df_state [df_state.duplikált ()]
print ("\ n \ nSorok duplikálása: \ n ".formátum (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (keep = Hamis)
print ('\ n \ nEredmény DataFrame ismétlődő eltávolítás után: \ n', DF_RM_DUP.fej (n = 5))
Amint az a következő képen látható, minden másolatot eltávolítunk az adatkeretről:
Távolítsa el a kapcsolódó duplikátumokat egy megadott oszlopból
Alapértelmezés szerint a függvény ellenőrzi az összes duplikált sort az adott adatkeret összes oszlopából. De megadhatja az oszlop nevét is az alkészlet paraméter használatával.
Példa
A következő példában az összes kapcsolódó duplikátum eltávolításra kerül az „Államok” oszlopból.
import pandák, mint pddf_state = pd.read_csv ("C: / Felhasználók / DELL / Asztal / populáció_ds.csv ")
Dup_Rows = df_state [df_state.duplikált ()]
print ("\ n \ nSorok duplikálása: \ n ".formátum (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (részhalmaz = 'állam')
print ('\ n \ nEredmény DataFrame ismétlődő eltávolítás után: \ n', DF_RM_DUP.fej (n = 6))
Következtetés
Ez a cikk bemutatta, hogyan távolíthatja el a duplikált sorokat egy adatkeretről a drop_duplicates () funkció a Pandas Pythonban. Ezzel a funkcióval törölheti adatait a duplikációtól vagy a redundanciától is. A cikk azt is bemutatta, hogyan lehet azonosítani az adatkeretben található duplikátumokat.