Овај чланак вам показује како пронаћи дупликате у подацима и уклонити дупликате помоћу функција Пандас Питхон.
У овом чланку узели смо скуп података становништва различитих држава у Сједињеним Државама, који је доступан у .цсв формат датотеке. Прочитаћемо .цсв датотеку за приказ оригиналног садржаја ове датотеке, како следи:
увези панде као пддф_стате = пд.реад_цсв ("Ц: / Корисници / ДЕЛЛ / Десктоп / популација_дс.цсв ")
испис (дф_стате)
На следећем снимку екрана можете видети дуплирани садржај ове датотеке:
Идентификовање дупликата у Пандас Питхон-у
Неопходно је утврдити да ли подаци које користите имају дуплиране редове. Да бисте проверили дуплицирање података, можете да користите било који од метода обрађених у следећим одељцима.
Метод 1:
Прочитајте цсв датотеку и пренесите је у оквир података. Затим идентификујте дупликате редова помоћу дуплицирано () функцију. На крају, користите испис за испис да бисте приказали дупликате редова.
увези панде као пддф_стате = пд.реад_цсв ("Ц: / Корисници / ДЕЛЛ / Десктоп / популација_дс.цсв ")
Дуп_Ровс = дф_стате [дф_стате.дуплицирано ()]
принт ("\ н \ нДвоструки редови: \ н ".формат (Дуп_Ровс))
Метод 2:
Користећи ову методу, ис_дуплицатед колона ће бити додата на крај табеле и означена као „Тачно“ у случају дуплираних редова.
увези панде као пддф_стате = пд.реад_цсв ("Ц: / Корисници / ДЕЛЛ / Десктоп / популација_дс.цсв ")
дф_стате ["ис_дуплицате"] = дф_стате.дуплицирано ()
испис ("\ н ".формат (дф_стате))
Испуштање дупликата у Пандас Питхон
Дуплирани редови се могу уклонити из оквира података користећи следећу синтаксу:
дроп_дуплицатес (субсет = ", кееп =", инплаце = Фалсе)
Горња три параметра нису обавезна и детаљније су објашњена у наставку:
задржати: овај параметар има три различите вредности: Прва, Последња и Нетачна. Прва вредност задржава прву појаву и уклања наредне дупликате, последња вредност задржава само последњу појаву и уклања све претходне дупликате, а вредност Фалсе уклања све дуплиране редове.
подсет: ознака која се користи за идентификацију дуплираних редова
на месту: садржи два услова: Тачно и Нетачно. Овај параметар ће уклонити дуплиране редове ако је постављен на Тачно.
Уклоните дупликате задржавајући само прву појаву
Када користите „кееп = фирст“, задржат ће се само појављивање у првом реду, а сви остали дупликати ће бити уклоњени.
Пример
У овом примеру ће се задржати само први ред, а преостали дупликати ће бити избрисани:
увези панде као пддф_стате = пд.реад_цсв ("Ц: / Корисници / ДЕЛЛ / Десктоп / популација_дс.цсв ")
Дуп_Ровс = дф_стате [дф_стате.дуплицирано ()]
принт ("\ н \ нДвоструки редови: \ н ".формат (Дуп_Ровс))
ДФ_РМ_ДУП = дф_стате.дроп_дуплицатес (кееп = 'фирст')
принт ('\ н \ нРезултат оквира података након уклањања дупликата: \ н', ДФ_РМ_ДУП.глава (н = 5))
На следећем снимку екрана задржани појав у првом реду је означен црвеном бојом, а преостале дупликате су уклоњене:
Уклоните дупликате задржавајући само последњу појаву
Када користите „кееп = ласт“, уклонит ће се сви дуплицирани редови, осим посљедњег појављивања.
Пример
У следећем примеру уклањају се сви дуплирани редови, осим само последњег појављивања.
увези панде као пддф_стате = пд.реад_цсв ("Ц: / Корисници / ДЕЛЛ / Десктоп / популација_дс.цсв ")
Дуп_Ровс = дф_стате [дф_стате.дуплицирано ()]
принт ("\ н \ нДвоструки редови: \ н ".формат (Дуп_Ровс))
ДФ_РМ_ДУП = дф_стате.дроп_дуплицатес (кееп = 'ласт')
принт ('\ н \ нРезултат оквира података након уклањања дупликата: \ н', ДФ_РМ_ДУП.глава (н = 5))
На следећој слици дупликати се уклањају и задржава се само последњи ред:
Уклоните све дупликате редова
Да бисте уклонили све дупликате редова из табеле, поставите „кееп = Фалсе“, како следи:
увези панде као пддф_стате = пд.реад_цсв ("Ц: / Корисници / ДЕЛЛ / Десктоп / популација_дс.цсв ")
Дуп_Ровс = дф_стате [дф_стате.дуплицирано ()]
принт ("\ н \ нДвоструки редови: \ н ".формат (Дуп_Ровс))
ДФ_РМ_ДУП = дф_стате.дроп_дуплицатес (кееп = Фалсе)
принт ('\ н \ нРезултат оквира података након уклањања дупликата: \ н', ДФ_РМ_ДУП.глава (н = 5))
Као што видите на следећој слици, сви дупликати се уклањају из оквира података:
Уклоните сродне дупликате из наведене колоне
Функција подразумевано проверава све дуплиране редове из свих колона у датом оквиру података. Али, име колоне можете одредити и помоћу параметра подскупа.
Пример
У следећем примеру, сви повезани дупликати уклањају се из колоне „Државе“.
увези панде као пддф_стате = пд.реад_цсв ("Ц: / Корисници / ДЕЛЛ / Десктоп / популација_дс.цсв ")
Дуп_Ровс = дф_стате [дф_стате.дуплицирано ()]
принт ("\ н \ нДвоструки редови: \ н ".формат (Дуп_Ровс))
ДФ_РМ_ДУП = дф_стате.дроп_дуплицатес (субсет = 'Стате')
принт ('\ н \ нРезултат оквира података након уклањања дупликата: \ н', ДФ_РМ_ДУП.глава (н = 6))
Закључак
Овај чланак вам је показао како уклонити дуплиране редове из оквира података помоћу дроп_дуплицатес () функција у Пандас Питхон-у. Помоћу ове функције такође можете очистити податке од дуплирања или сувишности. Чланак вам је такође показао како да идентификујете све дупликате у оквиру података.