Pandas - 資料相關性
尋找關係
Pandas 模組的一個強大之處在於 corr()
方法。
corr()
方法計算資料集中每列之間的關係。
本頁的示例使用了一個名為 'data.csv' 的 CSV 檔案。
示例
顯示列之間的關係
df.corr()
自己動手試一試 »
結果
Duration Pulse Maxpulse Calories Duration 1.000000 -0.155408 0.009403 0.922721 Pulse -0.155408 1.000000 0.786535 0.025120 Maxpulse 0.009403 0.786535 1.000000 0.203814 Calories 0.922721 0.025120 0.203814 1.000000
注意: corr()
方法會忽略“非數字”列。
結果解釋
corr()
方法的結果是一個包含大量數字的表格,這些數字表示兩列之間的關係有多緊密。
該數字的範圍從 -1 到 1。
1 表示 1 對 1 的關係(完美相關),對於這個資料集,第一列的值增加時,另一列的值也隨之增加。
0.9 也是一個很好的關係,如果您增加一個值,另一個值很可能也會增加。
-0.9 的關係和 0.9 一樣好,但如果您增加一個值,另一個值很可能反而會下降。
0.2 表示關係不好,這意味著如果一個值增加,另一個值不一定會跟著改變。
什麼是好的相關性? 這取決於具體用途,但我認為可以安全地說,您至少需要 0.6
(或 -0.6
)才能稱之為好的相關性。
完美相關
我們可以看到,“Duration”和“Duration”得到了 1.000000
這個數字,這是有意義的,每一列本身總是與自己有完美的關係。
良好的相關性
“Duration”和“Calories”之間有 0.922721
的相關性,這是一個非常好的相關性,我們可以預測,您鍛鍊的時間越長,燃燒的卡路里就越多,反之亦然:如果您燃燒了很多卡路里,您可能進行了一次長時間的鍛鍊。
糟糕的相關性
“Duration”和“Maxpulse”之間有 0.009403
的相關性,這是一個非常糟糕的相關性,這意味著我們不能僅透過鍛鍊時長來預測最大脈搏數,反之亦然。