मान लीजिए आपके पास एक डेटाफ्रेम है और समूहीकृत डेटा से सहप्रसरण की गणना और संबंधित कॉलम का परिणाम है:
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
समाधान
इसे हल करने के लिए, हम नीचे दिए गए चरणों का पालन करेंगे:
एक डेटाफ्रेम परिभाषित करें
डेटाफ्रेम के subjects कॉलम के अंदर groupby फ़ंक्शन लागू करें
df.groupby('subjects')
समूहीकृत डेटा पर सहप्रसरण फ़ंक्शन लागू करें और group_data में संग्रहीत करें
group_data = df.groupby('subjects').cov()
subjects कॉलम से groupby रिकॉर्ड के साथ mark1 और mark2 कॉलम के लिए लैम्ब्डा फ़ंक्शन लागू करें
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