我有一个名为结果
的数据框:
find_a id find_b id
yes 0001 yes 0001
no 0002 yes 0002
no 0003 no 0003
yes 0004 no 0004
yes 0005 yes 0005
我有以下内容:
result.find_a.values==find_b.values
它返回 True/False 数组:
数组([真,假,真,假,真])
如何在此基础上构建并获得 True
计数?如果我能得到计数,我以后就可以得到列之间匹配记录的百分比,即。 find_a
与 find_b
的匹配率为 40%。
另外,我不确定我是否正在冒险走 numpy 或 pandas 路线......
感谢您提前提供的帮助。
最佳答案
除非您正在处理大量数据,否则使用 NumPy 还是 pandas 并不重要。由于您使用的是 pandas,我建议您只坚持基础知识,除非您知道您需要其他方式。
要回答您原来的问题,您可以使用 mean
获取 True
值的百分比:
(df['find_a'] == df['find_b']).mean()
# 0.6
哪里,
df['find_a'] == df['find_b']
0 True
1 False
2 True
3 False
4 True
dtype: bool
关于python - pandas 或 numpy - 如何计算返回的 true/false 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54796681/