English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دوال الإحصاءات في Pandas

مثال على استخدام وظائف الإحصاء في Pandas

تساعد الأساليب الإحصائية في فهم وتحليل سلوك البيانات. الآن، سنتعلم بعض الوظائف الإحصائية التي يمكن تطبيقها على كائنات Pandas.

التغيير المئوي

تمتلك Series، DatFrames و Panels وظيفة pct_change(). ستقوم هذه الوظيفة بمقارنة كل عنصر مع العنصر السابق و حساب نسبة التغيير.

 import pandas as pd
 import numpy as np
 s = pd.Series([1,2,3,4,5,4])
 print(s.pct_change()
 df = pd.DataFrame(np.random.randn(5, 2))
 print(df.pct_change())

نتائج التنفيذ:

 0        NaN
1   1.000000
2   0.500000
3   0.333333
4   0.250000
5  -0.200000
dtype: float64
          0          1
0         NaN        NaN
1  -15.151902   0.174730
2  -0.746374   -1.449088
3  -3.582229   -3.165836
4   15.601150  -1.860434

بالتجريد، يُطبق pct_change() على الأعمدة؛ إذا كنت ترغب في تطبيق نفس الخطوة على نفس الصف، استخدم معامل axis = 1().

ال协يفيرسية

تطبيق协يفيرسية على بيانات التسلسل. يمتلك الكائنات التسلسلية طريقة cov لحساب协يفيرسية بين كائنات التسلسل. سيتم استبعاد NA تلقائيًا.

Cov Series

 import pandas as pd
 import numpy as np
 s1 = pd.Series(np.random.randn(10))
 s2 = pd.Series(np.random.randn(10))
 print(s1.cov(s2))

نتائج التنفيذ:

   -0.12978405324

عند تطبيق طريقة协يفيرسية على DataFrame، سيتم حساب cov بين جميع الأعمدة.

 import pandas as pd
 import numpy as np
 frame = pd.DataFrame(np.random.randn(10, 5), columns=['a', 'b', 'c', 'd', 'e'])
 print(frame['a'].cov(frame['b']))
 print(frame.cov())

نتائج التنفيذ:

 -0.58312921152741437
           a           b           c           d            e
a   1.780628   -0.583129   -0.185575    0.003679    -0.136558
b  -0.583129    1.297011    0.136530   -0.523719     0.251064
c  -0.185575    0.136530    0.915227   -0.053881    -0.058926
d   0.003679   -0.523719   -0.053881    1.521426    -0.487694
e  -0.136558    0.251064   -0.058926   -0.487694     0.960761

مراقبة قيمة cov بين عمود a و b في الجملة الأولى، وهي نفس القيمة التي تعود منها cov على DataFrame.

الارتباط

الارتباط يظهر العلاقة الخطية بين أي مجموعتين من القيم (سلسلتين). هناك عدة طرق لحساب الارتباط، مثل pearson (الافتراضي)، spearman وkendall.

 import pandas as pd
 import numpy as np
 frame = pd.DataFrame(np.random.randn(10, 5), columns=['a', 'b', 'c', 'd', 'e'])
 print(frame['a'].corr(frame['b']))
 print(frame.corr())

نتائج التنفيذ:

 -0.383712785514
           a          b          c          d            e
a   1.000000  -0.383713  -0.145368   0.002235   -0.104405
b  -0.383713   1.000000   0.125311  -0.372821    0.224908
c  -0.145368   0.125311   1.000000  -0.045661   -0.062840
d   0.002235  -0.372821  -0.045661   1.000000   -0.403380
e -0.104405 0.224908 -0.062840 -0.403380 1.000000

إذا كانت هناك أي أعمدة غير رقمية في DataFrame، سيتم استبعادها تلقائيًا.

ترتيب البيانات

ترتيب البيانات يقوم بترتيب كل عنصر في مجموعة العناصر. إذا كان هناك تساوي، يتم توزيع الرتبة المتوسطة.

 import pandas as pd
 import numpy as np
 s = pd.Series(np.random.np.random.randn(5), index=list('abcde'))
 s['d'] = s['b'] # هناك رابطة
 print(s.rank())

نتائج التنفيذ:

 a 1.0
b 3.5
c 2.0
d 3.5
e 5.0
dtype: float64

Rank يمكن أن يختار ترتيب المعاملات ترتيباً تصاعدياً، بمعنى افتراضي، هو true؛ إذا كان خطأ، يتم ترتيب البيانات عكسياً ويعطى القيم الأكبر رتبة أقل.

Rank يدعم استخدام معامل method:

average − متوسط الرتبة في المجموعات المتوازية. min − أقل رتبة في المجموعة. max − أعلى رتبة في المجموعة. first − ترتيب الأعمدة والسطور في الترتيب الذي يظهر فيها في المصفوفة.