You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对Pandas数据框布尔列统计两两同真计数生成组合计数方阵

布尔列重合计数矩阵实现方案

利用Pandas矩阵乘法的特性可以一行代码完成计算,性能远高于循环或GroupBy方案:

import pandas as pd

# 构造示例数据
df = pd.DataFrame({
    'Col1': [False, False, False, False, True],
    'Col2': [True, True, True, True, False],
    'Col3': [True, True, True, False, True]
})

# 核心计算:转置后与int类型的原数据做矩阵乘法
res = df.T @ df.astype(int)

输出结果和你要求的完全一致:

Col1  Col2  Col3
Col1     1     0     1
Col2     0     4     3
Col3     1     3     4

原理解释

  • 布尔值转int后True对应1、False对应0
  • 矩阵乘法中,结果的[i,j]位置元素等于第一个矩阵第i行和第二个矩阵第j列的逐元素乘积之和,刚好对应第i列和第j列同时为True的行数
  • 对角线元素为对应列自身True值的总计数,符合你的示例要求

内容的提问来源于stack exchange,提问作者John K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 01:15:03