मुझे एडिसन केलिंक्स का पोस्ट सबसे सरल लगा, लेकिन फ़िल्टरिंग और चार्टिंग के लिए Wojciech Moszczy forsk के सुझाव का उपयोग किया, लेकिन निरपेक्ष मूल्यों से बचने के लिए फ़िल्टर का विस्तार किया, इसलिए एक बड़ा सहसंबंध मैट्रिक्स दिया, इसे फ़िल्टर करें, इसे चार्ट करें, और फिर इसे समतल करें:
बनाया गया, फ़िल्टर्ड और चार्टेड
dfCorr = df.corr()
filteredDf = dfCorr[((dfCorr >= .5) | (dfCorr <= -.5)) & (dfCorr !=1.000)]
plt.figure(figsize=(30,10))
sn.heatmap(filteredDf, annot=True, cmap="Reds")
plt.show()
समारोह
अंत में, मैंने सहसंबंध मैट्रिक्स बनाने के लिए एक छोटा सा फ़ंक्शन बनाया, इसे फ़िल्टर किया, और फिर इसे समतल किया। एक विचार के रूप में, इसे आसानी से बढ़ाया जा सकता है, जैसे, असममित ऊपरी और निचले सीमा, आदि।
def corrFilter(x: pd.DataFrame, bound: float):
xCorr = x.corr()
xFiltered = xCorr[((xCorr >= bound) | (xCorr <= -bound)) & (xCorr !=1.000)]
xFlattened = xFiltered.unstack().sort_values().drop_duplicates()
return xFlattened
corrFilter(df, .7)