كيفية البحث عن التكرارات في pandas dataframe (مع أمثلة)
يمكنك استخدام الدالة المكررة () للعثور على قيم مكررة في Pandas DataFrame.
تستخدم هذه الوظيفة بناء الجملة الأساسي التالي:
#find duplicate rows across all columns duplicateRows = df[df. duplicated ()] #find duplicate rows across specific columns duplicateRows = df[df. duplicated ([' col1 ',' col2 '])]
توضح الأمثلة التالية كيفية استخدام هذه الوظيفة عمليًا مع الباندا DataFrame التالية:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' points ': [10, 10, 12, 12, 15, 17, 20, 20], ' assists ': [5, 5, 7, 9, 12, 9, 6, 6]}) #view DataFrame print (df) team points assists 0 to 10 5 1 to 10 5 2 to 12 7 3 to 12 9 4 B 15 12 5 B 17 9 6 B 20 6 7 B 20 6
مثال 1: البحث عن صفوف مكررة في كافة الأعمدة
يوضح التعليمة البرمجية التالية كيفية العثور على صفوف مكررة في كافة أعمدة DataFrame:
#identify duplicate rows
duplicateRows = df[df. duplicated ()]
#view duplicate rows
duplicateRows
team points assists
1 to 10 5
7 B 20 6
يوجد صفين مكررين تمامًا لصفوف أخرى في DataFrame.
لاحظ أنه يمكننا أيضًا استخدام الوسيطة keep=’last’ لعرض الأسطر المكررة الأولى بدلاً من الأخيرة:
#identify duplicate rows
duplicateRows = df[df. duplicated (keep=' last ')]
#view duplicate rows
print (duplicateRows)
team points assists
0 to 10 5
6 B 20 6
المثال 2: البحث عن صفوف مكررة في أعمدة محددة
يوضح التعليمة البرمجية التالية كيفية البحث عن الصفوف المكررة فقط في أعمدة “الفريق” و”النقاط” في DataFrame:
#identify duplicate rows across 'team' and 'points' columns
duplicateRows = df[df. duplicated ([' team ',' points '])]
#view duplicate rows
print (duplicateRows)
team points assists
1 to 10 5
3 to 12 9
7 B 20 6
هناك ثلاثة صفوف تكون فيها القيم الموجودة في أعمدة “الفريق” و”النقاط” نسخًا طبق الأصل من الصفوف السابقة.
مثال 3: البحث عن صفوف مكررة في عمود
يوضح التعليمة البرمجية التالية كيفية البحث عن الصفوف المكررة فقط في عمود “الفريق” في DataFrame:
#identify duplicate rows in 'team' column
duplicateRows = df[df. duplicated ([' team '])]
#view duplicate rows
print (duplicateRows)
team points assists
1 to 10 5
2 to 12 7
3 to 12 9
5 B 17 9
6 B 20 6
7 B 20 6
يوجد إجمالي ستة صفوف حيث تكون القيم الموجودة في عمود “الفريق” عبارة عن نسخ مكررة تمامًا من الصفوف السابقة.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في الباندا:
كيفية إزالة الصفوف المكررة في الباندا
كيفية إزالة الأعمدة المكررة في الباندا
كيفية تحديد الأعمدة حسب الفهرس في Pandas