如何从boolian值的数据帧创建频率分布矩阵

2024-06-16 12:30:15 发布

您现在位置:Python中文网/ 问答频道 /正文

简言之,我正试图翻译这样一个数据帧

Patient   Cough   Headache   Dizzy
   1        1         0        0 
   2        1         1        1
   3        0         1        0 
   4        1         0        1
   5        0         1        0 

转换成一个类似于相关特征的频率分布矩阵

也就是说,它会返回这样的结果

        Cough   Headache   Dizzy
Cough     1       0.33     0.66
Headache 0.33       1      0.33
Dizzy     1       0.5       1

因为三分之一头痛的人会头晕,但只有二分之一头晕的人会头痛,等等

我想要使用的实际数据要大得多,所以我只是好奇熊猫是否有办法自动完成这项工作


Tags: 数据矩阵特征频率头痛办法patientcough
1条回答
网友
1楼 · 发布于 2024-06-16 12:30:15

像这样的

# extract columns of interest
s = df.iloc[:,1:]

# output
((s.T @ s)/s.sum()).T

输出:

             Cough  Headache     Dizzy
Cough     1.000000  0.333333  0.666667
Headache  0.333333  1.000000  0.333333
Dizzy     1.000000  0.500000  1.000000

相关问题 更多 >