Pandas或Numpy-如何计算返回的true/false数组



我有一个名为 result的数据框:

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

重新调整了一个真/错误的数组: array([ True, False, True, False, True])

如何以此为基础并获得True的数量?如果我能得到计数,那么我稍后可以在列之间获得一定比例的匹配记录,即。find_afind_b匹配40%的时间。

另外,我不确定我是否正在沿着Numpy或Pandas路线进行冒险...

感谢提前的帮助。

,除非您要处理大量数据,否则无论使用numpy还是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
len(result[result.find_a == result.find_b])
np.mean(result.find_a == result.find_b)

最新更新