【问题标题】:Count number of items of an array exist in another array?计数一个数组的项目数存在于另一个数组中吗?
【发布时间】:2022-01-26 07:33:56
【问题描述】:

假设我们有一个数组A 和一组数组B。在B 的每一行中找到A 中有多少项的快速方法是什么?例如,如果我有:

A = np.array([2, 5, 10])
B = np.array([(3, 5, 10), (1, 2, 5), (4, 6, 9)])

所以我应该得到C = [2, 2, 0]

【问题讨论】:

  • 不应该是[2,2,0]吗?

标签: python arrays numpy


【解决方案1】:

你也可以使用广播:

(B==A[:,None,None]).sum((0,2))

输出:

array([2, 2, 0])

【讨论】:

    【解决方案2】:

    np.count_nonzero(np.isin(B, A), axis=1) 可能是实现您寻找的结果的一种方式。或者,以更优雅的方式——根据@mozway 的建议——np.isin(B, A).sum(axis=1)

    【讨论】:

    • np.isin(B, A).sum(1) ;)
    猜你喜欢
    • 2012-04-18
    • 1970-01-01
    • 2016-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    相关资源
    最近更新 更多