簡體   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