إنشاء عمود بشروط If-Else-Else في Pandas
لإنشاء عمود جديد بناءً على شرط if-elif-else ، هناك طريقتان رئيسيتان:
النهج غير المتجه
يتضمن هذا النهج تحديد وظيفة تعمل على الصفوف:
def f(row):
if row['A'] == row['B']:
val = 0
elif row['A'] > row['B']:
val = 1
else:
val = -1
return val
ثم قم بتطبيقه على إطار البيانات على طول الصفوف:
df['C'] = df.apply(f, axis=1)
المنهج المتجه
يستخدم النهج المتجه np.where لإنشاء العمود الجديد مباشرة:
df['C'] = np.where(
df['A'] == df['B'], 0, np.where(
df['A'] > df['B'], 1, -1))
يعد هذا النهج أكثر كفاءة لمجموعات البيانات الكبيرة.
إليك مثال باستخدام إطار البيانات المقدم:
إطار بيانات الإدخال
B | |
---|---|
3 | |
1 | 3 |
إطار بيانات الإخراج |
A ب
2 | 2 | |
---|---|---|
3 | 1 | 1 |
3 | -1 | ] &&& |
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3