此帖子已被用户删除
答案 0 :(得分:0)
假设您有一个名为my_func(a, b)
的函数,该函数将两个标量a
和b
作为参数并返回另一个标量。
假设您的两个二维numpy数组分别为arr_a
和arr_b
。
然后,表达式:
my_func(arr_a[:size,:size], arr_b[:size,:size])
将返回一个形状为(size,size)
的numpy数组,从而通过从arr_a
和arr_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