pandas

Kā nomest dublikātu rindas Pandas Python

Kā nomest dublikātu rindas Pandas Python
Python ir viena no populārākajām programmēšanas valodām datu analīzei, kā arī atbalsta dažādas Python uz datiem vērstas paketes. Paketes Pandas ir dažas no populārākajām Python pakotnēm, un tās var importēt datu analīzei. Gandrīz visās datu kopās bieži pastāv rindu dublikāti, kas var radīt problēmas datu analīzes vai aritmētiskās darbības laikā. Vislabākā pieeja datu analīzei ir identificēt visas dublētās rindas un noņemt tās no datu kopas. Izmantojot funkciju Pandas drop_duplicates (), jūs varat viegli nomest vai noņemt, dublēt ierakstus no datu rāmja.
Šajā rakstā ir parādīts, kā atrast dublikātus datos un noņemt dublikātus, izmantojot funkcijas Pandas Python.

Šajā rakstā mēs esam ņēmuši dažādu ASV štatu iedzīvotāju datu kopu, kas ir pieejama a .csv faila formāts. Mēs lasīsim .csv fails, lai parādītu šī faila sākotnējo saturu, šādi:

importa pandas kā pd
df_state = pd.lasīt_csv ("C: / Lietotāji / DELL / Darbvirsma / populācijas_ds.csv ")
drukāt (df_state)

Šajā ekrānuzņēmumā varat redzēt šī faila satura dublikātu:

Dublikātu identificēšana Pandas Python

Ir jānosaka, vai jūsu izmantotajiem datiem ir dublētas rindas. Lai pārbaudītu datu dublēšanos, varat izmantot jebkuru no metodēm, kas aplūkotas nākamajās sadaļās.

1. metode:

Izlasiet csv failu un pārsūtiet to datu rāmī. Pēc tam identificējiet rindu dublikātus, izmantojot dublikāts () funkciju. Visbeidzot, izmantojiet drukas paziņojumu, lai parādītu rindu dublikātus.

importa pandas kā pd
df_state = pd.lasīt_csv ("C: / Lietotāji / DELL / Darbvirsma / populācijas_ds.csv ")
Dup_Rows = df_state [df_state.dublikāts ()]
print ("\ n \ nDublēt rindas: \ n ".formāts (Dup_Rows))

2. metode:

Izmantojot šo metodi, is_duplicate kolonna tiks pievienota tabulas beigās un dublētu rindu gadījumā tiks atzīmēta kā “True”.

importa pandas kā pd
df_state = pd.lasīt_csv ("C: / Lietotāji / DELL / Darbvirsma / populācijas_ds.csv ")
df_state ["is_duplicate"] = df_state.dublikāts ()
drukāt ("\ n ".formāts (df_state))

Dublikātu nomešana Pandas Python

Dublētas rindas no datu rāmja var noņemt, izmantojot šādu sintaksi:
drop_duplicates (apakškopa = ", keep =", inplace = False)
Iepriekš minētie trīs parametri nav obligāti un sīkāk paskaidroti zemāk:
saglabāt: šim parametram ir trīs dažādas vērtības: First, Last un False. Pirmā vērtība saglabā pirmo gadījumu un noņem nākamos dublikātus, Pēdējā vērtība saglabā tikai pēdējo gadījumu un noņem visus iepriekšējos dublikātus, un Vērtība False noņem visas dublētās rindas.
apakškopa: iezīme, ko izmanto, lai identificētu dublētās rindas
vietā: satur divus nosacījumus: Patiesi un Nepatiesi. Šis parametrs noņems dublētās rindas, ja tā būs iestatīta uz True.

Noņemiet dublikātus, saglabājot tikai pirmo gadījumu

Lietojot “keep = first”, tiks saglabāts tikai pirmais rindas gadījums, un visi pārējie dublikāti tiks noņemti.

Piemērs

Šajā piemērā tiks saglabāta tikai pirmā rinda, un pārējie dublikāti tiks izdzēsti:

importa pandas kā pd
df_state = pd.lasīt_csv ("C: / Lietotāji / DELL / Darbvirsma / populācijas_ds.csv ")
Dup_Rows = df_state [df_state.dublikāts ()]
print ("\ n \ nDublēt rindas: \ n ".formāts (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (saglabāt = 'pirmais')
print ('\ n \ nRezultāts DataFrame pēc dublikāta noņemšanas: \ n', DF_RM_DUP.galva (n = 5))

Šajā ekrānuzņēmumā saglabāts pirmās rindas gadījums ir izcelts sarkanā krāsā un tiek noņemtas atlikušās dublikācijas:

Noņemiet dublikātus, saglabājot tikai pēdējo gadījumu

Lietojot “keep = last”, tiks noņemtas visas rindu dublikāti, izņemot pēdējo gadījumu.

Piemērs

Šajā piemērā tiek noņemtas visas dublētās rindas, izņemot tikai pēdējo gadījumu.

importa pandas kā pd
df_state = pd.lasīt_csv ("C: / Lietotāji / DELL / Darbvirsma / populācijas_ds.csv ")
Dup_Rows = df_state [df_state.dublikāts ()]
print ("\ n \ nDublēt rindas: \ n ".formāts (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (keep = 'pēdējais')
print ('\ n \ nRezultāts DataFrame pēc dublikāta noņemšanas: \ n', DF_RM_DUP.galva (n = 5))

Šajā attēlā dublikāti tiek noņemti un tiek glabāts tikai pēdējais rindas gadījums:

Noņemt visas dublikātu rindas

Lai noņemtu visas tabulas dublikātu rindas, iestatiet “keep = False” šādi:

importa pandas kā pd
df_state = pd.lasīt_csv ("C: / Lietotāji / DELL / Darbvirsma / populācijas_ds.csv ")
Dup_Rows = df_state [df_state.dublikāts ()]
print ("\ n \ nDublēt rindas: \ n ".formāts (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (saglabāt = Nepatiesa)
print ('\ n \ nRezultāts DataFrame pēc dublikāta noņemšanas: \ n', DF_RM_DUP.galva (n = 5))

Kā redzat šajā attēlā, visi dublikāti tiek noņemti no datu rāmja:

Noņemiet saistītos dublikātus no norādītās kolonnas

Pēc noklusējuma funkcija pārbauda visas dublētās rindas no visām kolonnām dotajā datu rāmī. Bet arī kolonnas nosaukumu varat norādīt, izmantojot apakškopas parametru.

Piemērs

Šajā piemērā visi saistītie dublikāti tiek noņemti no kolonnas “Valstis”.

importa pandas kā pd
df_state = pd.lasīt_csv ("C: / Lietotāji / DELL / Darbvirsma / populācijas_ds.csv ")
Dup_Rows = df_state [df_state.dublikāts ()]
print ("\ n \ nDublēt rindas: \ n ".formāts (Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates (apakškopa = 'Valsts')
print ('\ n \ nRezultāts DataFrame pēc dublikāta noņemšanas: \ n', DF_RM_DUP.galva (n = 6))

Secinājums

Šis raksts parādīja, kā noņemt dublētas rindas no datu rāmja, izmantojot drop_duplicates () funkcija Pandas Python. Izmantojot šo funkciju, varat arī notīrīt datus no dublēšanās vai atlaišanas. Raksts arī parādīja, kā identificēt visus datu kopijas dublikātus.

Labākās komandrindas spēles Linux
Komandrinda nav tikai lielākais sabiedrotais, lietojot Linux, bet tā var būt arī izklaides avots, jo to var izmantot, lai spēlētu daudzas jautras spēl...
Labākās Linux spēļu gamepad kartēšanas lietotnes
Ja jums patīk spēlēt spēles Linux ar parastu tastatūru, nevis parasto tastatūru un peles ievades sistēmu, jums ir dažas noderīgas lietotnes. Daudzas d...
Noderīgi rīki Linux spēlētājiem
Ja jums patīk spēlēt spēles Linux, iespējams, ka spēļu pieredzes uzlabošanai, iespējams, esat izmantojis tādas lietotnes un utilītprogrammas kā Wine, ...