为了账号安全,请及时绑定邮箱和手机立即绑定

Pandas - 创建一个计算记录数的对称矩阵

Pandas - 创建一个计算记录数的对称矩阵

浮云间 2021-11-30 16:16:06
我有一个如下所示的数据框ID  |  Value1   |  A1   |  B1   |  C2   |  B2   |  C我想创建一个基于值的对称矩阵:    A   B  C A  1   1  1 B  1   2  2 C  1   2  2这基本上表明有多少人同时拥有这两个值 (v1,v2)。我目前正在使用 for 循环来扫描每个组合的数据框,但想知道是否有更简单的方法使用 Pandas 来完成。
查看完整描述

1 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

使用merge with cross join by IDcolumn with crosstabandDataFrame.rename_axis删除索引和列名:


df = pd.merge(df, df, on='ID')


df = pd.crosstab(df['Value_x'], df['Value_y']).rename_axis(None).rename_axis(None, axis=1)

print (df)

   A  B  C

A  1  1  1

B  1  2  2

C  1  2  2


查看完整回答
反对 回复 2021-11-30
  • 1 回答
  • 0 关注
  • 132 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信