موقع د. عزيز الجعيد
  • الرئـيـسـية

  • الأقسام

    • علم البيانات والذكاء الإصطناعي

    • ذكاء الأعمال

    • لغة البرمجة بايثون

    • مقالات متنوعـة

    • لغة البرمجة آر R

    • الإحــــــصــــــاء

    • البيانات المفتوحة

  • عـنــي

  • تواصل معي

علم البيانات والذكاء الاصطناعي

  • الرئـيـسـية

  • الأقسام

    • علم البيانات والذكاء الإصطناعي

    • ذكاء الأعمال

    • لغة البرمجة بايثون

    • مقالات متنوعـة

    • لغة البرمجة آر R

    • الإحــــــصــــــاء

    • البيانات المفتوحة

  • عـنــي

  • تواصل معي

حذف البيانات المتكررة باستخدام بايثون Python

24/10/2020 | لغة البرمجة بايثون | تعليق واحد

في هذا المقال سوف نستعرض طريقة التعامل مع البيانات المتكررة باستخدام لغة البرمجة بايثون. في البداية سوف نستخدم البيانات، ثم نستخدام الكود التالي لتحديد دليل العمل (working directory):

In:
import os
os.chdir('*****')

ثم نقوم باستيراد البيانات كما يلي:

In:
import pandas as pd
mydata = pd.read_csv('mydata.csv')
print(mydata)
Out:
       name  age      city
0       Ali   20    Riyadh
1  Mohammed   30    Jeddah
2     Ahmed   33  Alkhobar
3       Ali   20    Riyadh
4    Bander   43   Dammam 
5       Ali   20    Riyadh
6  Mohammed   30    Jeddah
7  Abdullah   38    Riyadh
8    Khaled   30    Jeddah

لتوضيح التكرار في البيانات نقوم بفرز (sort) البيانات كما يلي:

In:
mydata=mydata.sort_values(by=['name','age','city'])
print(mydata)
Out:
      name  age      city
7  Abdullah   38    Riyadh
2     Ahmed   33  Alkhobar
0       Ali   20    Riyadh
3       Ali   20    Riyadh
5       Ali   20    Riyadh
4    Bander   43   Dammam 
8    Khaled   30    Jeddah
1  Mohammed   30    Jeddah
6  Mohammed   30    Jeddah

وبعد ذلك يمكن حذف البيانات المتكررة باستخدم الدالة التالية:
df.drop_duplicates(subset, keep, inplace, ignore_index)

حيث أن:

df إطار بيانات (data frame).
subset أسم عمود او مجموعة أعمدة.
keep  first: لإبقاء إول صف من البيانات المتكررة (الافتراضي)، last: لإبقاء آخر صف منها، False: لحذف جميع الصفوف المتكررة.
inplace False: حذف الصفوف المتكررة في نسخة جديدة من البيانات (الافتراضي)، True: حذف الصفوف المتكررة من البيانات الحالية.
ignore_index False: ابقاء ترتيب الفهرس (الافتراضي)، True: إعادة الفهرسة بعد الحذف.

وذلك كما في الأمثلة التالية:

1. حذف الصفوف المتكررة مع إبقاء  أول صف منها:

In:
newdata=mydata.drop_duplicates()
print(newdata)
Out:
       name  age      city
7  Abdullah   38    Riyadh
2     Ahmed   33  Alkhobar
0       Ali   20    Riyadh
4    Bander   43   Dammam 
8    Khaled   30    Jeddah
1  Mohammed   30    Jeddah

2. حذف الصفوف المتكررة وإبقاء أخر صف منها

In:
newdata=mydata.drop_duplicates(subset=['name'],keep='last')
print(newdata)
Out:
       name  age      city
7  Abdullah   38    Riyadh
2     Ahmed   33  Alkhobar
5       Ali   20    Riyadh
4    Bander   43   Dammam 
8    Khaled   30    Jeddah
6  Mohammed   30    Jeddah

3. حذف الصفوف المتكررة جميعها

In:
newdata=mydata.drop_duplicates(keep=False)
print(newdata)
Out:
       name  age      city
7  Abdullah   38    Riyadh
2     Ahmed   33  Alkhobar
4    Bander   43   Dammam 
8    Khaled   30    Jeddah

4. حذف الصفوف المتكررة وفقاً لعمود معين أو أكثر

In:
newdata=mydata.drop_duplicates(subset=['name'],keep=False)
print(newdata)
Out:
      name  age      city
7  Abdullah   38    Riyadh
2     Ahmed   33  Alkhobar
4    Bander   43   Dammam 
8    Khaled   30    Jeddah
جميع الحقوق الفكرية لهذا المقال محفوظة © موقع د. عزيز، يمنع إعادة نشره في موقع آخر

مقالات ذات صلة:

  • مقدمة في البايثون Python

    بايثون هي لغة برمجة متعددة الأغراض، تعمل على عدد من المنصات مثل ويندوز (Windows) و ماك (Mac OS X) و لينوكس (Linux).... مقدمة في البايثون Python
    اقرأ المزيد
  • قراءة ملفات البيانات في بايثون Python

    في هذا المقال سوف نستعرض كيف يمكن قراءة ملفات البيانات بأنواعها المختلفة باستخدام لغة البرمجة بايثون. في البداية نحتاج... قراءة ملفات البيانات في بايثون Python
    اقرأ المزيد
  • دوال القائمة (list) في بايثون Python

    تعتبر القائمة (list) احد انواع هياكل البيانات شائعة الاستخدام في في لغة البرمجة بايثون والتي يمكن أن تحوي انواع مختلفة... دوال القائمة (list) في بايثون Python
    اقرأ المزيد

التعليقات 1

  1. safaa alshammari بتاريخ أبريل 20, 2021 - 1:02 ص

    شرح جدا ممتاز وفقك الله

شارك بتعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *


The reCAPTCHA verification period has expired. Please reload the page.

د. عزيز عوض الله الجعيد
دكتوراه في الإحصاء، عالم بيانات، مبرمج، مهتم في التحليل المتقدم، والبيانات الضخمة والذكاء الاصطناعي، لمزيد من المعلومات أضغط هنا

  • YouTube
جميع الحقوق محفوظة © موقع د. عزيز