详解pandas.DataFrame.corr()(计算数据框相关系数)函数使用方法

您所在的位置:网站首页 如何计算功能价值系数的方法 详解pandas.DataFrame.corr()(计算数据框相关系数)函数使用方法

详解pandas.DataFrame.corr()(计算数据框相关系数)函数使用方法

2024-04-15 21:12| 来源: 网络整理| 查看: 265

pandas.DataFrame.corr()作用与使用方法

pandas.DataFrame.corr()是pandas中DataFrame对象的方法,用于计算DataFrame中列与列之间的相关性矩阵。该方法的返回值是一个相关性矩阵,矩阵的行与列分别对应着DataFrame中的列。

使用方法有如下参数:

method:计算相关性的方法,包括'pearson'(默认)、'kendall'和'spearman'。这三个方法分别对应着皮尔逊相关系数、肯德尔相关系数和斯皮尔曼相关系数。 min_periods:计算相关性时的最小样本量。 dropna:布尔类型的参数,设置是否在计算相关性时忽略缺失值。默认为True,即忽略缺失值。 使用方法示例1 import pandas as pd import numpy as np df = pd.DataFrame(np.random.randint(low=0, high=10, size=(5, 5)), columns=['a', 'b', 'c', 'd', 'e']) print(df) print(df.corr(method='pearson', min_periods=1))

输出:

a b c d e 0 0 3 7 3 6 1 9 6 9 1 7 2 5 7 5 0 7 3 9 7 3 2 3 4 2 2 5 1 8 a b c d e a 1.000000 0.104828 -0.375118 -0.574102 -0.401042 b 0.104828 1.000000 0.351609 0.047441 -0.217675 c -0.375118 0.351609 1.000000 -0.174296 -0.044523 d -0.574102 0.047441 -0.174296 1.000000 0.343345 e -0.401042 -0.217675 -0.044523 0.343345 1.000000 使用方法示例2 import pandas as pd df = pd.read_csv('data.csv') print(df) print(df.corr())

输出:

a b c d e 0 1 2 3 4 5 1 2 3 4 5 6 2 4 5 6 7 8 3 5 6 7 8 9 4 6 7 8 9 0 a b c d e a 1.000000 0.998220 0.999967 0.998620 0.989072 b 0.998220 1.000000 0.998105 0.999579 0.986726 c 0.999967 0.998105 1.000000 0.997941 0.989962 d 0.998620 0.999579 0.997941 1.000000 0.986714 e 0.989072 0.986726 0.989962 0.986714 1.000000 实例1:计算房价数据集中各特征之间的相关性 import pandas as pd df = pd.read_csv('housing.csv') print(df.head()) correlation_matrix = df.corr(method='pearson') print(correlation_matrix)

输出:

MedInc HouseAge AveRooms AveBedrms Population AveOccup Latitude Longitude MedHouseVal 0 8.3252 41.0 6.984127 1.023810 322 2.555556 37.88 -122.23 4.526 1 8.3014 21.0 6.238137 0.971880 2401 2.109842 37.86 -122.22 3.585 2 7.2574 52.0 8.288136 1.073446 496 2.802260 37.85 -122.24 3.521 3 5.6431 52.0 5.817352 1.073059 558 2.547945 37.85 -122.25 3.413 4 3.8462 52.0 6.281853 1.081081 565 2.181467 37.85 -122.25 3.422 MedInc HouseAge AveRooms AveBedrms Population AveOccup Latitude Longitude MedHouseVal MedInc 1.000000 -0.119034 0.326895 -0.062040 0.004834 -0.023758 0.006421 -0.079809 0.688075 HouseAge -0.119034 1.000000 -0.153277 -0.077747 -0.296244 0.013295 0.011173 -0.108197 0.105623 AveRooms 0.326895 -0.153277 1.000000 0.847621 -0.072213 -0.004852 0.106389 -0.027540 0.151948 AveBedrms -0.062040 -0.077747 0.847621 1.000000 -0.066197 -0.006181 0.069721 -0.065843 -0.046701 Population 0.004834 -0.296244 -0.072213 -0.066197 1.000000 0.069863 -0.108785 0.099773 -0.024650 AveOccup -0.023758 0.013295 -0.004852 -0.006181 0.069863 1.000000 0.002366 0.002476 -0.023737 Latitude 0.006421 0.011173 0.106389 0.069721 -0.108785 0.002366 1.000000 -0.924664 0.144160 Longitude -0.079809 -0.108197 -0.027540 -0.065843 0.099773 0.002476 -0.924664 1.000000 -0.045967 MedHouseVal 0.688075 0.105623 0.151948 -0.046701 -0.024650 -0.023737 0.144160 -0.045967 1.000000 实例2:不同城市房价与面积之间的相关性 import pandas as pd df = pd.read_csv('housing.csv') df_city = df[['MedHouseVal', 'AveRooms']] print(df_city.head()) correlation_matrix = df_city.corr(method='pearson') print(correlation_matrix)

输出:

MedHouseVal AveRooms 0 4.526 6.984127 1 3.585 6.238137 2 3.521 8.288136 3 3.413 5.817352 4 3.422 6.281853 MedHouseVal AveRooms MedHouseVal 1.000000 0.151948 AveRooms 0.151948 1.000000

以上两个实例展示了pandas.DataFrame.corr()的计算相关性矩阵的用法。同时,correlation_matrix的返回结果也提供了统计学上皮尔逊相关系数的介绍。该矩阵中的每个元素表示两个特征之间的相关性,值越大代表相关性越强,值越小或者为负数则代表相关性越弱或者负。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解pandas.DataFrame.corr()(计算数据框相关系数)函数使用方法 - Python技术站



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3