شروحات الكمبيوتر والإنترنت والموبايل

البحث عن تركيبات مفقودة لثلاث أعمدة باستخدام Pandas

تعتبر مكتبة Pandas في Python من بين الأدوات الأكثر استخدامًا في تحليل البيانات، حيث توفر العديد من الوظائف التي تسهل عملية التعامل مع البيانات. من بين التحديات التي قد تواجهها أثناء استخدام Pandas هي كيفية العثور على التركيبات المفقودة من أعمدة متعددة، والتي قد تكون ضرورية عند تحليل البيانات لضمان شموليتها وكمالها. في هذا المقال، سنستعرض طريقة للعثور على التركيبات المفقودة من ثلاثة أعمدة باستخدام Python 3.x، وسنقوم بشرح ذلك خطوة بخطوة.

فهم كيف يمكن العثور على التركيبات المفقودة

في البداية، سيتطلب الأمر إنشاء DataFrame يحتوي على البيانات التي نعمل معها. لنفترض أن لدينا البيانات التالية التي تحتوي على ثلاث أعمدة: A، B وC. يمكننا استخدام مكتبة Pandas لإنشاء DataFrame يحتوي على القيم الموجودة في هذه الأعمدة.

import pandas as pd
data = {'A': ['s1', 's1', 's1', 's2'],
        'B': ['a1', 'a1', 'a2', 'a1'],
        'C': ['s1', 's2', 's5', 's1']}
df = pd.DataFrame(data)

استخرج القيم الفريدة لكل عمود

لبدء عملية العثور على التركيبات المفقودة، سنحتاج إلى استخراج القيم الفريدة من كل عمود. يمكننا فعل ذلك باستخدام الدالة unique() المتاحة في مكتبة Pandas. بعد الحصول على القيم الفريدة، يمكننا استخدامها لتحديد التركيبات الممكنة.

A_values = df['A'].unique()
B_values = df['B'].unique()
C_values = df['C'].unique()

إنشاء تعيين للمجموعات الموجودة

الخطوة التالية هي إنشاء تعيين للمجموعات الموجودة لكل زوج (A، B). نقوم بذلك بتمرير كل صف في DataFrame واستخدام القيم الموجودة لتحديث هذا التعيين.

existing_combinations = {}
for _, row in df.iterrows():
    a, b, c = row['A'], row['B'], row['C']
    if (a, b) not in existing_combinations:
        existing_combinations[(a, b)] = set()
    existing_combinations[(a, b)].add(c)

تحديد التركيبات المفقودة

بعد أن قمنا بإنشاء التعيين للمجموعات الموجودة، يمكننا الآن البدء في تحديد التركيبات المفقودة. سنقوم بإنشاء قائمة جديدة ستحتوي على التركيبات المفقودة بناءً على القيم الممكنة.

missing_rows = []
for a in A_values:
    for b in B_values:
        valid_C_values = C_values
        existing_C_values = existing_combinations.get((a, b), set())
        missing_C_values = set(valid_C_values) - existing_C_values
        for c in missing_C_values:
            missing_rows.append((a, b, c))

إنشاء DataFrame جديدة للقيم المفقودة

بعد تحديد التركيبات المفقودة، يمكننا الآن إنشاء DataFrame جديدة تحتوي على القيم المفقودة. سنقوم بجمع البيانات الأصلية مع التركيبات المفقودة في DataFrame واحدة لمراجعتها بشكل أوضح.

missing_df = pd.DataFrame(missing_rows, columns=['A', 'B', 'C'])
df_updated = pd.concat([df, missing_df], ignore_index=True)
print(df_updated)

عرض النتائج النهائية

النتائج النهائية ستظهر DataFrame محدثة تحتوي على جميع التركيبات الموجودة والمفقودة. سيساعد هذا الأمر في ضمان أن جميع التركيبات المتاحة قد تم تضمينها، مما يسهل عملية التحليل بشكل عام.

# الإخراج
#     A   B   C
# 0  s1  a1  s1
# 1  s1  a1  s2
# 2  s1  a2  s5
# 3  s2  a1  s1
# 4  s1  a1  s5
# 5  s1  a2  s1
# 6  s1  a2  s2
# 7  s2  a1  s2
# 8  s2  a1  s5
# 9  s2  a2  s1
# 10 s2  a2  s2
# 11 s2  a2  s5

بذلك، قمنا باستعراض كيفية استخدام Python 3.x للعثور على التركيبات المفقودة من ثلاثة أعمدة في Pandas. يعد هذا الدليل خطوة بخطوة مناسبًا للمبتدئين والخبراء على حد سواء. إذا كنت مهتمًا بالتحليل العميق للبيانات، فإن فهم كيفية التعامل مع التركيبات المفقودة سيكون له فائدة كبيرة في مشاريعك المستقبلية.

فهد السلال

خبير تقني متخصص في شروحات الكمبيوتر والإنترنت والموبايل، يتمتع بخبرة واسعة في تقديم حلول تقنية مبتكرة ومبسطة. يهدف فهد إلى مساعدة المستخدمين على تحسين تجربتهم التقنية من خلال مقالات وأدلة عملية واضحة وسهلة الفهم.
زر الذهاب إلى الأعلى
Don`t copy text!

يستخدم موقعنا ملفات تعريف الارتباط لجمع معلومات حول زيارتك بهدف تحسين موقعنا (من خلال التحليل)، وعرض محتوى وسائل التواصل الاجتماعي والإعلانات ذات الصلة. يرجى الاطلاع على صفحة سياسة الخصوصية لمزيد من التفاصيل، أو الموافقة من خلال النقر على زر "قبول".

إعدادات ملفات تعريف الارتباط  

فيما يلي يمكنك اختيار نوع ملفات تعريف الارتباط التي تسمح بها على هذا الموقع. انقر على زر "حفظ إعدادات ملفات تعريف الارتباط" لتطبيق اختيارك.

ملفات ضرورية.يستخدم موقعنا ملفات تعريف الارتباط الوظيفية. هذه الملفات ضرورية لعمل موقعنا بشكل صحيح.

تحليل.يستخدم موقعنا ملفات تعريف الارتباط التحليلية لتمكيننا من تحليل موقعنا وتحسينه لأغراض مثل تحسين تجربة المستخدم.

وسائل التواصل الاجتماعي.يضع موقعنا ملفات تعريف الارتباط الخاصة بوسائل التواصل الاجتماعي لعرض محتوى من جهات خارجية مثل يوتيوب وفيسبوك. قد تقوم هذه الملفات بتتبع بياناتك الشخصية.

إعلانات.يضع موقعنا ملفات تعريف الارتباط الإعلانية لعرض إعلانات من جهات خارجية بناءً على اهتماماتك. قد تقوم هذه الملفات بتتبع بياناتك الشخصية.

أخرى.يضع موقعنا ملفات تعريف الارتباط من جهات خارجية أخرى ليست تحليلية أو خاصة بوسائل التواصل الاجتماعي أو الإعلانات.