我有一个包含多列的数据框,其条目是字符串。我需要在我选择的两列之间找到最相关的对(排序)。到目前为止,我的代码是:
col1 = 'cats'
col2 = 'dogs'
oe = OrdinalEncoder()
df = final_clean[[str(col1), str(col2)]]
categ_df = pd.DataFrame(oe.fit_transform(df), columns=[col1, col2])
corr_mat = categ_df.corr().abs()
s = corr_mat.unstack()
sorted_vals = s.sort_values(kind="quicksort", ascending=False)
sorted_vals[:10]
返回
cats cats 1.000000
dogs dogs 1.000000
cats dogs 0.030865
dogs cats 0.030865
dtype: float64
因此,它在列本身之间而不是元素对之间建立相关矩阵。如何更改此代码,以便给我按相关性排序的成对元素?