如何从布尔值的 Pandas DataFrame 创建频率分布矩阵

简而言之,我正在尝试翻译这样的 DataFrame


Patient   Cough   Headache   Dizzy

   1        1         0        0 

   2        1         1        1

   3        0         1        0 

   4        1         0        1

   5        0         1        0 

成类似于 Pandas 相关特征的频率分布矩阵。


也就是说,它会返回这样的东西


        Cough   Headache   Dizzy

Cough     1       0.33     0.66

Headache 0.33       1      0.33

Dizzy     1       0.5       1

因为每 3 个头痛的人中就有 1 个是头晕的,但是头晕的人中只有二分之一有头痛,等等。


我想要使用它的实际数据要大得多,所以我很好奇 Pandas 是否有办法自动执行此操作。


函数式编程
浏览 53回答 1
1回答

噜噜哒

是这样的吗?# extract columns of interests = df.iloc[:,1:]# output((s.T @ s)/s.sum()).T输出:             Cough  Headache     DizzyCough     1.000000  0.333333  0.666667Headache  0.333333  1.000000  0.333333Dizzy     1.000000  0.500000  1.000000
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python