1. 程式人生 > >pandas 統計函式[corr]

pandas 統計函式[corr]

  • DataFrame.corr(method=‘pearson’, min_periods=1) 計算列與列之間的相關係數,返回相關係數矩陣

    • method : {‘pearson’, ‘kendall’, ‘spearman’} * pearson : standard correlation coefficient * kendall : Kendall Tau correlation coefficient * spearman : Spearman rank correlation
    allDf = pd.DataFrame({
        'x':[0,1,2,4,7,10],
        'y'
    :[0,3,2,4,5,7], 's':[0,1,2,3,4,5], 'c':[5,4,3,2,1,0] },index = ['p1','p2','p3','p4','p5','p6']) # print(allDf) corr_matrix = allDf.corr() print(corr_matrix)

    out: x y s c x 1.000000 0.941729 0.972598 -0.972598 y 0.941729 1.000000 0.946256 -0.946256 s 0.972598 0.946256 1.000000 -1.000000 c -0.972598 -0.946256 -1.000000 1.000000

相關係數的取值範圍為[-1, 1],當接近1時,表示兩者具有強烈的正相關性,比如‘s’和‘x’;當接近-1時,表示有強烈的的負相關性,比如‘s’和‘c’,而若值接近0,則表示相關性很低.

接下來是房價分析的例子:

	corr_matrix = housing.corr()
	corr_matrix["median_house_value"].sort_values(ascending=False)

out: median_house_value 1.000000 median_income 0.687160 total_rooms 0.135097 housing_median_age 0.114110 households 0.064506 total_bedrooms 0.047689 population -0.026920 longitude -0.047432 latitude -0.142724 Name: median_house_value, dtype: float64

可以看出,房價與收入有比較強的相關性,而與緯度的相關性很低。