繁体   English   中英

Python:如何编写 function 以确定 dataframe 中的哪个变量与指定列的绝对相关性最高?

[英]Python: How do I write a function to determine which variable in a dataframe has the highest absolute correlation with a specified column?

我想写一个 function 来确定 dataframe 中的哪个变量与特定列的绝对相关性最高。 但是,我很难从相关矩阵中获取列名。

假设我的数据df如下:

地址 尺寸 租金价格 number_of_浴室 房间的数量
东方 12 3400 2 4
东北 99 4200 4 4
99 4000 5 5

我使用ab_col_matrix = abs(df.corr())来生成类似的相关矩阵,列名位于矩阵的顶部和左侧。

1 value value value 
value 1 value value 
value value 1 value 
value value value 1 

假设我对与大小列相关的最高列感兴趣。 我的想法是对列进行排序并取第一行并返回具有最高值的列名。

所以我尝试了, sorted = ab_col_matrix.sort_values('size', ascending = False) \

然后我尝试选择最高的sorted['size'][1]但它只返回值本身而不是列,我很困惑如何访问它。 这里我使用[1]因为[0]将返回 1,这是它自己列的相关值。

我将非常感谢任何帮助,我可以获得更多关于如何实现这一目标的知识。

您可以简单地 select 您想要的变量的列,然后对行进行排序:

ab_col_matrix['size'].sort_values(ascending=False)

size                   1.000000
rent_price             0.970725
number_of_bathrooms    0.944911
number_of_rooms        0.500000
Name: size, dtype: float64

然后,您可以 select 与以下最高相关值:

ab_col_matrix['size'].sort_values(ascending=False).index[1]

'rent_price'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM