الباندا: كيفية إنشاء عمود منطقي بناءً على الحالة


يمكنك استخدام بناء الجملة الأساسي التالي لإنشاء عمود منطقي قائم على الشرط في 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 بشروط متعددة

Add a Comment

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