该帖子已被用户删除

时间:2019-03-18 18:50:47

标签: removeall

此帖子已被用户删除

2 个答案:

答案 0 :(得分:0)

假设您有一个名为my_func(a, b)的函数,该函数将两个标量ab作为参数并返回另一个标量。

假设您的两个二维numpy数组分别为arr_aarr_b

然后,表达式:

my_func(arr_a[:size,:size], arr_b[:size,:size])

将返回一个形状为(size,size)的numpy数组,从而通过从arr_aarr_b中获取相应的标量并将它们传递给{{1 }}

只要您在my_func(a,b) conforms to certain rules中从事的工作,此方法就可以使用。

例如,my_func()可以是:

my_func()

或者可能是:

def my_func(a,b):
    return np.lcm(a,b)

答案 1 :(得分:0)

您可以同时使用dstack(基本上是zip的2d版本)和itertools.chain来实现所需的功能。

In [1]: import itertools
In [2]: import numpy as np
In [3]: x = np.array([[1, 2, 3], [4, 5, 6]])
In [4]: y = np.array([[9, 2, 7], [4, 3, 1]])
In [5]: x
Out[5]:
array([[1, 2, 3],
       [4, 5, 6]])

In [6]: y
Out[6]:
array([[9, 2, 7],
       [4, 3, 1]])


In [7]: for (a,b) in itertools.chain(*np.dstack((x,y))):
   ...:     if a==b:
   ...:         print("Equal")
   ...:     else:
   ...:         print("Not equal")
   ...:
Not equal
Equal
Not equal
Equal
Not equal
Not equal