Python如何按行比较2个数组中的元素

时间:2018-10-01 08:49:31

标签: python

我是Python的初学者, 这是一个例子:

a = array ([[4,7,8],
            [8,8,8],
            [5,8,4]]) 
b = array([[1,1,7],
           [2,6,9],
           [2,3,4]])
the output would be [1,1,0]

我想比较b的第一行中的元素比a的第一行中的元素大多少个元素。并将相同的比较应用于每一行。比较必须是2个数组中的同一行。原始数据形状为(297,6940)。有什么简单的方法可以做到这一点?谢谢!!!

2 个答案:

答案 0 :(得分:1)

使用直接数组比较并将它们沿行求和为:

(a<b).sum(axis=1)

array([0, 1, 0])

a<b
array([[False, False, False],
       [False, False,  True],
       [False, False, False]])

答案 1 :(得分:0)

我不知道我是否懂得很好,但是我举了一个例子向您解释:

https://repl.it/@Gilles_Medeiros/CompareElementsArray

您将迭代第一个数组,并将行的每个第一个元素与第二个数组中的所有元素进行比较。这不是最好的解决方案,但很容易理解。