วิธีการคำนวณความสัมพันธ์ระหว่างสองคอลัมน์ใน pandas


คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อคำนวณความสัมพันธ์ระหว่างสองคอลัมน์ใน Pandas DataFrame:

 df[' column1 ']. corr (df[' column2 '])

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่างที่ 1: คำนวณความสัมพันธ์ระหว่างสองคอลัมน์

รหัสต่อไปนี้แสดงวิธีการคำนวณความสัมพันธ์ระหว่างคอลัมน์ใน DataFrame ของแพนด้า:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view first five rows of DataFrame
df. head ()

        points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6

#calculate correlation between points and assists
df[' points ']. corr (df[' assists '])

-0.359384

ค่าสัมประสิทธิ์สหสัมพันธ์คือ -0.359 . เนื่องจากความสัมพันธ์นี้เป็นลบ จึงบอกเราว่าคะแนนและการช่วยเหลือมีความสัมพันธ์กันในเชิงลบ

กล่าวอีกนัยหนึ่ง เมื่อค่าในคอลัมน์คะแนนเพิ่มขึ้น ค่าในคอลัมน์ช่วยเหลือก็มีแนวโน้มที่จะลดลง

ตัวอย่างที่ 2: คำนวณนัยสำคัญสหสัมพันธ์

ในการพิจารณาว่าค่าสัมประสิทธิ์สหสัมพันธ์มีนัยสำคัญทางสถิติหรือไม่ คุณสามารถใช้ฟังก์ชัน pearsonr(x, y) จากไลบรารี SciPy

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ:

 import pandas as pd
from scipy. stats import pearsonr

#createDataFrame
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#calculate p-value of correlation coefficient between points and assists
pearsonr(df[' points '], df[' assists '])

(-0.359384, 0.38192)

ค่าแรกของเอาต์พุตจะแสดงค่าสัมประสิทธิ์สหสัมพันธ์ (-0.359384) และค่าที่สองจะแสดงค่า p (0.38192) ที่เกี่ยวข้องกับค่าสัมประสิทธิ์สหสัมพันธ์นั้น

เนื่องจาก ค่า p ไม่น้อยกว่า α = 0.05 เราจะสรุปได้ว่าความสัมพันธ์ระหว่างคะแนนและการช่วยเหลือไม่มีนัยสำคัญทางสถิติ

แหล่งข้อมูลเพิ่มเติม

วิธีการคำนวณความสัมพันธ์อันดับ Spearman ใน Python
วิธีการคำนวณความสัมพันธ์บางส่วนใน Python
วิธีการคำนวณความสัมพันธ์ข้ามใน Python

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *