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

如何使用pandas将DataFrame多列数据转换为共现二维交叉表

pandas生成列间共现矩阵的解决方案

核心逻辑:你需要的共现矩阵可直接通过0-1值DataFrame的转置与原矩阵做矩阵乘法实现,运算结果的第i行第j列数值刚好等于两列同时为1的行数,对角线数值为单列1的总个数,完全匹配需求。

完整实现代码

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({
    'A': [1, 0, 1],
    'B': [0, 1, 1],
    'C': [0, 0, 1],
    'D': [1, 1, 1],
    'E': [1, 0, 1]
})

# 核心计算逻辑
co_occur_matrix = df.T @ df

输出结果验证

打印co_occur_matrix即可得到目标格式的交叉共现表:

A  B  C  D  E
A  2  1  1  2  2
B  1  2  1  2  1
C  1  1  1  1  1
D  2  2  1  3  2
E  2  1  1  2  2

内容的提问来源于stack exchange,提问作者Lucas Dresl

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:54:04