熊猫还是numpy-如何计算返回的真/假数组

时间:2019-02-20 23:06:20

标签: python python-3.x pandas numpy

我有一个名为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

重新调整True / False数组: array([ True, False, True, False, True])

如何以此为基础并获得True的数量?如果我可以得到计数,则以后可以在列之间找到匹配记录的百分比,即。 find_afind_b相匹配40%的时间。

此外,我不确定我是否正在冒险尝试numpy或pandas路线...

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

除非您要处理大量数据,否则无论使用NumPy还是熊猫都没有关系。由于您使用的是熊猫,除非您另有需要,否则我建议您仅遵循基本原则。

要回答您的原始问题,您可以使用True获取mean值的百分比:

(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

答案 1 :(得分:0)

len(result[result.find_a == result.find_b])
np.mean(result.find_a == result.find_b)