كيفية حساب الارتباط حسب المجموعة في الباندا


يمكنك استخدام بناء الجملة الأساسي التالي لحساب الارتباط بين متغيرين حسب المجموعة في الباندا:

 df. groupby (' group_var ')[[' values1 ',' values2 ']]. corr (). unstack (). iloc [:, 1 ]

يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.

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

لنفترض أن لدينا DataFrame الباندا التالية:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [2, 7, 9, 3, 12, 10, 14, 21]})

#view DataFrame
print (df)

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

 #calculate correlation between points and assists, grouped by team
df. groupby (' team ')[[' points ',' assists ']]. corr (). unstack (). iloc [:, 1 ]

team
At 0.603053
B 0.981798
Name: (points, assists), dtype: float64

ومن النتيجة يمكننا أن نرى:

  • معامل الارتباط بين النقاط والتمريرات الحاسمة لفريق A هو 0.603053 .
  • معامل الارتباط بين النقاط والتمريرات الحاسمة للفريق B هو 0.981798 .

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

أي أن اللاعبين الذين يميلون إلى تسجيل المزيد من النقاط يميلون أيضًا إلى تسجيل المزيد من التمريرات الحاسمة.

ذات صلة: ما الذي يعتبر ارتباطًا “قويًا”؟

لاحظ أنه يمكننا اختصار بناء الجملة من خلال عدم استخدام الدالتين unstack و iloc ، لكن النتائج أقبح:

 df. groupby (' team ')[[' points ',' assists ']]. corr ()

		assist points
team			
A points 1.000000 0.603053
        assists 0.603053 1.000000
B points 1.000000 0.981798
        assists 0.981798 1.000000

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

مصادر إضافية

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

كيفية إجراء مجموع GroupBy في Pandas
كيفية استخدام Groupby وPlot في Pandas
كيفية حساب القيم الفريدة باستخدام GroupBy في Pandas

Add a Comment

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