كيفية حساب النسبة التراكمية في الباندا
يمكنك استخدام بناء الجملة الأساسي التالي لحساب النسبة التراكمية للقيم في عمود من الباندا DataFrame:
#calculate cumulative sum of column df[' cum_sum '] = df[' col1 ']. cumsum () #calculate cumulative percentage of column (rounded to 2 decimal places) df[' cum_percent '] = round( 100 *df. cum_sum /df[' col1 ']. sum (), 2 )
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: احسب النسبة التراكمية بين حيوانات الباندا
لنفترض أن لدينا DataFrame الباندا التالي الذي يوضح عدد الوحدات التي تبيعها الشركة في سنوات متتالية:
import pandas as pd #createDataFrame df = pd. DataFrame ({' year ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], ' units_sold ': [60, 75, 77, 87, 104, 134, 120, 125, 140, 150]}) #view DataFrame print (df) year units_sold 0 1 60 1 2 75 2 3 77 3 4 87 4 5 104 5 6 134 6 7 120 7 8 125 8 9 140 9 10 150
بعد ذلك، يمكننا استخدام الكود التالي لإضافة عمود يعرض العدد التراكمي للوحدات المباعة والنسبة التراكمية للوحدات المباعة:
#calculate cumulative sum of units sold
df[' cum_sum '] = df[' units_sold ']. cumsum ()
#calculate cumulative percentage of units sold
df[' cum_percent '] = round( 100 *df. cum_sum /df[' units_sold ']. sum (), 2 )
#view updated DataFrame
print (df)
year units_sold cum_sum cum_percent
0 1 60 60 5.60
1 2 75 135 12.59
2 3 77 212 19.78
3 4 87 299 27.89
4 5 104 403 37.59
5 6 134 537 50.09
6 7 120 657 61.29
7 8 125 782 72.95
8 9 140 922 86.01
9 10 150 1072 100.00
نفسر النسب التراكمية على النحو التالي:
- تم إجراء 5.60٪ من إجمالي المبيعات في السنة الأولى.
- تم إجراء 12.59 من إجمالي المبيعات في العامين الأول والثاني مجتمعين.
- تم إجراء 19.78% من إجمالي المبيعات في الأعوام 1 و2 و3 مجتمعة.
وما إلى ذلك وهلم جرا.
لاحظ أنه يمكنك ببساطة تغيير القيمة في الدالة round() لتغيير عدد النقاط العشرية المعروضة أيضًا.
على سبيل المثال، يمكننا بدلاً من ذلك تقريب النسبة المئوية التراكمية إلى صفر منازل عشرية:
#calculate cumulative sum of units sold
df[' cum_sum '] = df[' units_sold ']. cumsum ()
#calculate cumulative percentage of units sold
df[' cum_percent '] = round( 100 *df. cum_sum /df[' units_sold ']. sum (), 0 )
#view updated DataFrame
print (df)
year units_sold cum_sum cum_percent
0 1 60 60 6.0
1 2 75 135 13.0
2 3 77 212 20.0
3 4 87 299 28.0
4 5 104 403 38.0
5 6 134 537 50.0
6 7 120 657 61.0
7 8 125 782 73.0
8 9 140 922 86.0
9 10 150 1072 100.0
يتم الآن تقريب النسب المئوية التراكمية إلى منازل عشرية صفرية.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في بايثون:
كيفية إنشاء جداول التكرار في بايثون
كيفية حساب التكرار النسبي في بايثون