Як видалити повторювані рядки в pandas dataframe


Найпростіший спосіб видалити дублікати рядків у pandas DataFrame — це використовувати функцію drop_duplicates() , яка використовує такий синтаксис:

df.drop_duplicates(subset=None, keep=’first’, inplace=False)

золото:

  • підмножина: які стовпці враховувати для виявлення дублікатів. За замовчуванням усі стовпці.
  • зберегти: вказує, які дублікати (якщо такі є) зберігати.
    • перший: видаліть усі повторювані рядки, крім першого.
    • останній: видаляє всі повторювані рядки, крім останнього.
    • False : видалити всі дублікати.
  • inplace: вказує, чи потрібно видалити дублікати на місці або повернути копію DataFrame.

Цей підручник містить декілька прикладів практичного використання цієї функції на наступному DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({'team': ['a', 'b', 'b', 'c', 'c', 'd'],
                   'points': [3, 7, 7, 8, 8, 9],
                   'assists': [8, 6, 7, 9, 9, 3]})

#display DataFrame
print (df)

  team points assists
0 to 3 8
1 b 7 6
2 b 7 7
3 c 8 9
4 c 8 9
5 d 9 3

Приклад 1: видалення дублікатів у всіх стовпцях

Наступний код показує, як видалити рядки з повторюваними значеннями у всіх стовпцях:

 df. drop_duplicates ()

        team points assists
0 to 3 8
1 b 7 6
2 b 7 7
3 c 8 9
5 d 9 3

За замовчуванням функція drop_duplicates() видаляє всі дублікати, крім першого.

Однак ми можемо використати аргумент keep=False , щоб повністю видалити всі дублікати:

 df. drop_duplicates (keep= False )

	team points assists
0 to 3 8
1 b 7 6
2 b 7 7
5 d 9 3

Приклад 2. Видалення дублікатів у певних стовпцях

Наступний код показує, як видалити рядки з повторюваними значеннями лише в стовпцях з позначками team і points :

 df. drop_duplicates (subset=[' team ', ' points '])

        team points assists
0 to 3 8
1 b 7 6
3 c 8 9
5 d 9 3

Додаткові ресурси

Як видалити дублікати стовпців у Pandas
Як сортувати значення в Pandas DataFrame
Як відфільтрувати Pandas DataFrame за кількома умовами
Як вставити стовпець у Pandas DataFrame

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *