كيفية استخدام corrwith() في pandas (مع أمثلة)
يمكنك استخدام الدالة corrwith() في الباندا لحساب الارتباط الزوجي بين الأعمدة الرقمية التي تحمل نفس الاسم في اثنين من الباندا DataFrames المختلفة.
تستخدم هذه الوظيفة بناء الجملة الأساسي التالي:
df1. corrwith (df2)
ملاحظة : تختلف هذه الدالة عن الدالة corr() ، التي تحسب الارتباط بين عمودين رقميين داخل نفس DataFrame.
يوضح المثال التالي كيفية استخدام الدالة corrwith() عمليًا.
مثال: كيفية استخدام corrwith() في Pandas
لنفترض أن لدينا إطاري بيانات الباندا التاليين:
import pandas as pd #create first DataFrame df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F'], ' points ': [18, 22, 29, 25, 14, 11], ' assists ': [4, 5, 5, 4, 8, 12], ' rebounds ': [10, 6, 4, 6, 3, 5]}) print (df1) team points assists rebounds 0 to 18 4 10 1 B 22 5 6 2 C 29 5 4 3 D 25 4 6 4 E 14 8 3 5 F 11 12 5 #create second DataFrame df2 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F'], ' points ': [22, 25, 27, 35, 25, 20], ' assists ': [15, 13, 8, 8, 5, 8], ' rebs ': [4, 11, 12, 8, 7, 10]}) print (df2) team points assists rebs 0 A 22 15 4 1 B 25 13 11 2 C 27 8 12 3 D 35 8 8 4 E 25 5 7 5 F 20 8 10
يمكننا استخدام الدالة corrwith() لحساب الارتباط بين الأعمدة الرقمية التي لها نفس الأسماء في إطاري البيانات:
#calculate correlation between numeric columns with same names in each DataFrame
df1. corrwith (df2)
points 0.677051
assists -0.478184
NaN rebounds
rebs NaN
dtype:float64
ومن النتيجة يمكننا أن نرى:
- الارتباط بين قيم العمود النقطي لإطاري البيانات هو 0.677 .
- الارتباط بين قيم العمود المساعد في إطاري البيانات هو -0.478 .
نظرًا لعدم وجود ارتدادات وأسماء الأعمدة في كلا DataFrames، يتم إرجاع قيمة NaN لكل من هذه الأعمدة.
ملاحظة رقم 1 : بشكل افتراضي، تقوم الدالة corrwith() بحساب معامل ارتباط بيرسون بين الأعمدة، ولكن يمكنك أيضًا تحديد الطريقة = ‘kendall’ أو الطريقة = ‘spearman’ لحساب نوع مختلف من المعامل بدلاً من الارتباط.
ملاحظة رقم 2 : يمكنك العثور على الوثائق الكاملة لوظيفة corrwith() هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في الباندا:
كيفية حساب الارتباط حسب المجموعة في الباندا
كيفية حساب الارتباط المنزلق في الباندا
كيفية حساب الارتباط بين عمودين في الباندا