Як видалити повторювані рядки в 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