pandák

Ismétlődő sorok eldobása a Pandas Pythonban

Ismétlődő sorok eldobása a Pandas Pythonban
A Python az egyik legnépszerűbb programozási nyelv az adatelemzéshez, és különféle Python adatközpontú csomagokat is támogat. A Pandas csomagok a legnépszerűbb Python csomagok, és importálhatók adatok elemzéséhez. Szinte az összes adatkészletben gyakran léteznek ismétlődő sorok, amelyek problémákat okozhatnak az adatelemzés vagy az aritmetikai műveletek során. Az adatelemzés legjobb megközelítése a duplikált sorok azonosítása és eltávolítása az adatkészletből. A Pandas drop_duplicates () függvény segítségével könnyedén eldobhatja vagy eltávolíthatja a rekordokat az adatkeretről.
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 pd
df_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 pd
df_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 pd
df_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 pd
df_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 pd
df_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 pd
df_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 pd
df_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.

Az OSD-fedvény megjelenítése teljes képernyős Linux-alkalmazásokban és játékokban
Teljes képernyős játékok lejátszása vagy alkalmazások figyelemelterelés nélküli, teljes képernyős módban történő használata elvághatja a panelen vagy ...
Az 5 legjobb játékrögzítő kártya
Mindannyian láttuk és szerettük a YouTube-on a streaming játékokat. A PewDiePie, a Jakesepticye és a Markiplier csak néhány a legnépszerűbb játékosok ...
Hogyan lehet játékot fejleszteni Linuxon
Egy évtizeddel ezelőtt nem sok Linux-felhasználó jósolta, hogy kedvenc operációs rendszerük egy napon a videojátékok népszerű játékplatformja lesz. El...