如何将布尔熊猫数据帧转换为方形矩阵数据帧



我有一个这样的数据帧(布尔值(

a    b    c    d    count
1    0    1    0    196
0    1    0    1    110
0    1    0    0    17
0    0    1    0    10
0    0    0    0     9

正如你所能,某人可以是ac//或bd///或只有c我想构建一个方形矩阵数据帧,其中

a    b 
a  0    0
b  0    17
c  196  10
d  0   110

我可以买这样的吗?我试过

result = df.merge(df, on=['ID']
count = pd.crosstab(df[columns_x],df[columns_y])

但它没有得到我想要的

注意主数据帧如下:

a     b     c     d   
Yes   No    Yes   No   
No    Yes   No    Yes   
No    Yes   No    No 
No    No    Yes   No  
No    No    No    No

我只做了一个点积就得到了答案。

df_transpose = df.transpose()
count = df_transpose.dot(df)
> 
a     b    c   d
a 222   5    8   1 
b 5     154  14  22 
c 8     14   34  6 
d 1     22   6   29

最新更新