كيفية كتابة بيان الحالة في الباندا (مع مثال)


عبارة الحالة هي نوع من البيانات التي تتنقل عبر الشروط وترجع قيمة عند استيفاء الشرط الأول.

إن أبسط طريقة لتنفيذ بيان الحالة في Pandas DataFrame هي استخدام الدالة NumPywhere() ، والتي تستخدم بناء الجملة الأساسي التالي:

 df[' new_column '] = np. where (df[' col2 ']<9, 'value1',
                   n.p. where (df[' col2 ']<12, 'value2',
                   n.p. where (df[' col2 ']<15, 'value3', 'value4')))

تبحث هذه الدالة المحددة في القيمة الموجودة في العمود المسمى col2 وترجع:

  • value1 ” إذا كانت القيمة في col2 أقل من 9
  • value2 ” إذا كانت القيمة في العمود 2 أقل من 12
  • value3 ” إذا كانت القيمة في col2 أقل من 15
  • القيمة 4 ” إذا لم يكن أي من الشروط السابقة صحيحا

يوضح المثال التالي كيفية استخدام هذه الوظيفة عمليًا.

مثال: بيان الحالة في Pandas

لنفترض أن لدينا DataFrame الباندا التالية:

 import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' player ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                   ' points ': [6, 8, 9, 9, 12, 14, 15, 17, 19, 22]})

#view DataFrame
df

	player points
0 1 6
1 2 8
2 3 9
3 4 9
4 5 12
5 6 14
6 7 15
7 8 17
8 9 19
9 10 22

يمكننا استخدام الصيغة التالية لكتابة بيان حالة يقوم بإنشاء عمود جديد يسمى الفئة التي يتم تحديد قيمها من خلال القيم الموجودة في عمود النقاط :

 #add 'class' column using case-statement logic
df[' class '] = np. where (df[' points ']<9, 'Bad',
              n.p. where (df[' points ']<12, 'OK',
              n.p. where (df[' points ']<15, 'Good', 'Great')))

#view updated DataFrame
df

	player points class
0 1 6 Bad
1 2 8 Bad
2 3 9 OK
3 4 9 OK
4 5 12 Good
5 6 14 Good
6 7 15 Great
7 8 17 Great
8 9 19 Great
9 10 22 Great

نظر بيان الحالة إلى القيمة الموجودة في عمود النقاط وأعاد:

  • سيئ ” إذا كانت القيمة في عمود النقاط أقل من 9
  • موافق ” إذا كانت القيمة في عمود النقاط أقل من 12
  • جيد ” إذا كانت القيمة في عمود النقاط أقل من 15
  • رائع ” إذا لم يكن أي من الشروط السابقة صحيحا

ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة NumPywhere() هنا .

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في Pandas:

كيفية إنشاء عمود جديد بناءً على شرط في Pandas
كيفية استخدام الدالة NumPy Where() بشروط متعددة

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *