在熊猫的两列之间找到最相关的元素对

时间:2020-03-12 09:12:27

标签: python pandas correlation

我有一个包含多列的数据框,其条目是字符串。我需要在我选择的两列之间找到最相关的对(排序)。到目前为止,我的代码是:

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

因此,它在列本身之间而不是元素对之间建立相关矩阵。如何更改此代码,以便给我按相关性排序的成对元素?

0 个答案:

没有答案