الباندا: كيفية إنشاء عمود منطقي بناءً على الحالة
يمكنك استخدام بناء الجملة الأساسي التالي لإنشاء عمود منطقي قائم على الشرط في pandas DataFrame:
df[' boolean_column '] = np. where (df[' some_column '] > 15, True , False )
يقوم بناء الجملة هذا بإنشاء عمود منطقي جديد بقيمتين محتملتين:
- صحيح إذا كانت القيمة في some_column أكبر من 15.
- خطأ إذا كانت القيمة في some_column أقل من أو تساوي 15.
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: إنشاء عمود منطقي بناءً على الحالة في Pandas
لنفترض أن لدينا DataFrame الباندا التالية التي تحتوي على معلومات حول مختلف لاعبي كرة السلة:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' points ': [5, 17, 7, 19, 12, 13, 9, 24]}) #view DataFrame print (df) team points 0 to 5 1 to 17 2 to 7 3 to 19 4 B 12 5 B 13 6 B 9 7 B 24
يمكننا استخدام الكود التالي لإنشاء عمود جديد يسمى good_player والذي يُرجع True إذا كانت القيمة في عمود النقاط أكبر من 15 أو False بخلاف ذلك:
import numpy as np
#create new boolean column based on value in points column
df[' good_player '] = np. where (df[' points '] > 15, True , False )
#view updated DataFrame
print (df)
team points good_player
0 To 5 False
1 To 17 True
2 To 7 False
3 To 19 True
4 B 12 False
5 B 13 False
6 B 9 False
7 B 24 True
لاحظ أن العمود الجديد المسمى good_player يحتوي فقط على قيمتين: True أو False .
يمكننا استخدام الدالة dtypes() للتحقق من أن عمود good_player الجديد هو بالفعل عمود منطقي:
#display data type of good_player column
df[' good_player ']. dtype
dtype('bool')
عمود good_player الجديد هو بالفعل عمود منطقي.
لاحظ أيضًا أنه يمكنك إرجاع قيم رقمية مثل 1 و 0 بدلاً من True و False إذا أردت:
import numpy as np
#create new boolean column based on value in points column
df[' good_player '] = np. where (df[' points '] > 15, 1 , 0 )
#view updated DataFrame
print (df)
team points good_player
0 to 5 0
1 To 17 1
2 to 7 0
3 A 19 1
4 B 12 0
5 B 13 0
6 B 9 0
7 B 24 1
يحتوي عمود good_player الآن على الرقم 1 إذا كانت القيمة المقابلة في عمود النقاط أكبر من 15.
وإلا فإنه يحتوي على القيمة 0 .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في الباندا:
كيفية تحديد الصفوف بناءً على شروط متعددة في Pandas
كيفية إنشاء عمود جديد بناءً على شرط في Pandas
كيفية تصفية Pandas DataFrame بشروط متعددة