[英]Compute overlap between columns of two DataFrames as a square co-occurrence matrix
我正在逐列寻找两个数据框之间的重叠。
df1 = pd.DataFrame({'V1':['a', 'b', 'c'], 'V2':['d', 'e','f'],'V3':['g','h','i'})
df2 = pd.DataFrame({'X1':['e', 'b', 'd'], 'X2':['a', 'h','i'],'X3':['c','f','g'})
逻辑:
每个 V 和 Xs 一行作为列。
预期结果:
X1 X2 X3
V1 1 1 1
V2 2 0 1
V3 0 2 1
我尝试了几种交叉的变体,试图迭代列。 好像走错了路。
您可以通过与 NumPy 的外部相等比较来做到这一点:
pd.DataFrame(np.equal.outer(df1, df2).sum(axis=(0, 2)),
index=df1.columns,
columns=df2.columns)
X1 X2 X3
V1 1 1 1
V2 2 0 1
V3 0 2 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.