"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تحقيق إنشاء العمود الشرطي: استكشاف If-Elif-Else في Pandas DataFrame؟

كيفية تحقيق إنشاء العمود الشرطي: استكشاف If-Elif-Else في Pandas DataFrame؟

تم النشر بتاريخ 2024-11-05
تصفح:843

How to Achieve Conditional Column Creation: Exploring If-Elif-Else in Pandas DataFrame?

إنشاء عمود شرطي: If-Elif-Else في Pandas

تطلب المشكلة المحددة إضافة عمود جديد إلى DataFrame بناء على سلسلة من المعايير الشرطية. يكمن التحدي في تنفيذ هذه الشروط مع الحفاظ على كفاءة التعليمات البرمجية وسهولة القراءة.

الحل باستخدام تطبيق الوظيفة

يتضمن أحد الأساليب إنشاء وظيفة تقوم بتعيين كل صف إلى النتيجة المرجوة بناءً على الشروط:

def f(row):
    if row['A'] == row['B']:
        return 0
    elif row['A'] > row['B']:
        return 1
    else:
        return -1

df['C'] = df.apply(f, axis=1)

هذه الطريقة قابلة للقراءة وسهلة التنفيذ، ولكنها ليست موجهة وقد تؤدي إلى مشكلات في الأداء مع مجموعات البيانات الكبيرة.

الحل الموجه

من أجل الكفاءة، يوصى باتباع نهج متجه باستخدام وظيفة np.where الخاصة بـ NumPy:

df['C'] = np.where(
    df['A'] == df['B'], 0, np.where(
    df['A'] > df['B'], 1, -1))

تؤدي هذه العملية عنصر التحديد الشرطي على DataFrame، مما يؤدي إلى ظهور عمود جديد بالقيم المطلوبة.

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

بيان الافراج أعيد طبع هذه المقالة على: 1729378216 في حالة وجود أي انتهاك، يرجى الاتصال بـ [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3