将两个数据框列与二进制数据进行比较
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)
我有两列二进制数据(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)