将两个数据框列与二进制数据进行比较

Compare two dataframe columns with binary data

我有两列二进制数据(1 和 0),我想检查一列和另一列之间的相似度百分比。显然,由于它们是二进制的,重要的是巧合基于每个单元格的位置,而不是基于 0 和 1 的全局数量。例如:

column_1     column_2
   0            1
   1            1
   0            0
   1            0

在这种情况下,两列中的 0 和 1 的数量相同(这意味着 100% 重合),但是,考虑到每个列的顺序或位置,只有 50% 的重合。最后的陈述是我正在努力弄清楚的。

我知道我可以用一个循环来完成...但是如果列表较大,这可能是个问题。

这会得到一个二进制向量,它给出 True,其中 col 1 等于 2,其他地方为 0,求和,然后除以样本数。

sim = sum( df.column_1 == df.column_2 ) / len(df.column_1)