Skip to main content
 首页 » 编程设计

python之在 Pandas 数据框中的列中查找成对重叠

2025年05月04日25cyq1162

我有一个如下所示的数据框

| FName | F1 |  F2 | F3|  
| A     | 0  |  1  | 1 | 
| B     | 1  |  0  | 1 | 
| C     | 1  |  0  | 0 | 
| D     | 1  |  1  | 1 | 

从这里我需要找到每一列的成对集合交集的计数,即 F1-F2 是 1 ,F1-F3 是 2,F2-F3 是 2 等等。

一个明显的方法是将每个系列转换为 set 数据结构,然后取集交集,然后是结果集的长度。但是在 pandas 中有没有办法可以达到同样的目的?

请您参考如下方法:

你可以设置FName为索引,然后使用矩阵乘法(假设你这里只有1和0,你想计算两个1的重叠):

df.set_index("FName", inplace=True) 
df.T.dot(df)