สมมติว่า คุณมี dataframe และผลลัพธ์สำหรับการคำนวณความแปรปรวนร่วมจากข้อมูลที่จัดกลุ่มและคอลัมน์ที่เกี่ยวข้องเป็น,
Grouped data covariance is: mark1 mark2 subjects maths mark1 25.0 12.500000 mark2 12.5 108.333333 science mark1 28.0 50.000000 mark2 50.0 233.333333 Grouped data covariance between two columns: subjects maths 12.5 science 50.0 dtype: float64
วิธีแก้ปัญหา
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนด้านล่าง -
-
กำหนดดาต้าเฟรม
-
ใช้ฟังก์ชัน groupby ภายในคอลัมน์ dataframe subjects
df.groupby('subjects') -
ใช้ฟังก์ชันความแปรปรวนร่วมกับข้อมูลที่จัดกลุ่มและเก็บข้อมูล group_data ที่อยู่ภายใน
group_data = df.groupby('subjects').cov() -
ใช้ฟังก์ชันแลมบ์ดาสำหรับคอลัมน์ mark1 และ mark2 พร้อมระเบียน groupby จากคอลัมน์ subjects มีการกำหนดไว้ด้านล่าง
df.groupby('subjects').apply(lambda x: x['mark1'].cov(x['mark2'] ตัวอย่าง
มาดูโค้ดด้านล่างเพื่อทำความเข้าใจกันดีกว่า −
import pandas as pd
df =
pd.DataFrame({'subjects':['maths','maths','maths','science','science','science'],
'mark1':[80,90,85,95,93,85],
'mark2':[85,90,70,75,95,65]})
print("DataFrame is:\n",df)
group_data = df.groupby('subjects').cov()
print("Grouped data covariance is:\n", group_data)
result = df.groupby('subjects').apply(lambda x: x['mark1'].cov(x['mark2']))
print("Grouped data covariance between two columns:\n",result) ผลลัพธ์
DataFrame is: subjects mark1 mark2 0 maths 80 85 1 maths 90 90 2 maths 85 70 3 science 95 75 4 science 93 95 5 science 85 65 Grouped data covariance is: mark1 mark2 subjects maths mark1 25.0 12.500000 mark2 12.5 108.333333 science mark1 28.0 50.000000 mark2 50.0 233.333333 Grouped data covariance between two columns: subjects maths 12.5 science 50.0 dtype: float64