![](/img/trans.png)
[英]How do I add a column to a pandas dataframe which has the highest value in a range but applying it to every row?
[英]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.