python - pandas 或 numpy - 如何计算返回的 true/false 数组

标签 python python-3.x pandas numpy

我有一个名为结果的数据框:

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_afind_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/

相关文章:

python - 根据缺少标题的列将文件选项卡到 pandas 数据框中

python - 如何从python中的json编写grafana简单的json到表查询

python - 最速下降轨迹行为

python - 我的模拟时钟项目中笨重/缓慢的拖动功能

python - Docker 化的 Python 脚本在访问存储到/tmp 的文件时出现问题

python - 在没有正则表达式的情况下,将字符串中的多个空格减少为 Python 中的一个

python - 居中顶层窗口,保持网格/包几何体的动态大小?

python - Pandas : reshape 数据

python - odoo-14 中 render_qweb_pdf 的替代方案

Python 使用 Fabric 连接到 EC2 实例