الباندا: كيفية حساب القيم في عمود مع الشرط


يمكنك استخدام الطرق التالية لحساب عدد القيم في عمود Pandas DataFrame بشرط محدد:

الطريقة الأولى: حساب القيم في عمود به شرط

 len(df[df[' col1 ']==' value1 '])

الطريقة الثانية: حساب القيم في أعمدة متعددة مع الشروط

 len(df[(df[' col1 ']==' value1 ') & (df[' col2 ']==' value2 ')])

توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا مع الباندا DataFrame التالية:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' pos ': ['Gu', 'Fo', 'Fo', 'Fo', 'Gu', 'Gu', 'Fo', 'Fo'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28]})

#view DataFrame
print (df)

  team pos points
0 A Gu 18
1 A Fo 22
2 A Fo 19
3 A Fo 14
4 B Gu 14
5 B Gu 11
6 B Fo 20
7 B Fo 28

مثال 1: حساب القيم في عمود به شرط

الكود التالي يوضح كيفية حساب عدد القيم في عمود الفريق حيث القيمة تساوي “A”:

 #count number of values in team column where value is equal to 'A'
len(df[df[' team ']==' A '])

4

يمكننا أن نرى أن هناك 4 قيم في عمود الفريق حيث القيمة تساوي “أ”.

مثال 2: حساب القيم في أعمدة متعددة مع الشروط

يوضح الكود التالي كيفية حساب عدد الصفوف في DataFrame حيث يساوي عمود الفريق “B” وعمود pos يساوي “Gu”:

 #count rows where team is 'B' and pos is 'Gu'
len(df[(df[' team ']==' B ') & (df[' pos ']==' Gu ')])

2

يمكننا أن نرى أن هناك صفين في DataFrame يستوفي كلا هذين الشرطين.

يمكننا استخدام صيغة مشابهة لحساب عدد الأسطر التي تلبي العدد المطلوب من الشروط.

على سبيل المثال، يوضح التعليمة البرمجية التالية كيفية حساب عدد الصفوف التي تستوفي ثلاثة شروط:

  • الفريق يساوي “ب”
  • نقاط البيع تساوي “Gu”
  • النقاط أكبر من 12
 #count rows where team is 'B' and pos is 'Gu' and points > 15
len(df[(df[' team ']==' B ') & (df[' pos ']==' Gu ') & (df[' points ']> 12 )])

1

يمكننا أن نرى أن صفًا واحدًا من DataFrame يلبي جميع الشروط الثلاثة.

مصادر إضافية

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

الباندا: كيفية العثور على الفرق بين خطين
الباندا: كيفية حذف الأسطر التي تحتوي على سلسلة محددة
الباندا: كيفية إزالة الصفوف المكررة في DataFrame

Add a Comment

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