我试图使用numpy获取两个数组之间的所有数字对但没有成功。 基本上我需要的是一个外部产品,其中数字而不是乘以数字,即:。
a = np.array([1, 2])
b = np.array([3, 4])
np.Func(a, b)
>>> [[[1,3], [1,4]]
[[2,3], [2,4]]]
我正在尝试np.meshgrid(a,b)
,但输出不是我所期望的。
答案 0 :(得分:3)
您还可以使用meshgrid的transpose
:
>>> np.transpose(np.meshgrid(a, b))
array([[[1, 3],
[1, 4]],
[[2, 3],
[2, 4]]])
答案 1 :(得分:2)
执行np.dstack
后需要np.meshgrid
:
>>> a, b = np.array([1, 2]), np.array([3, 4])
>>> xs, ys = np.meshgrid(a, b)
>>> np.dstack([xs, ys])
array([[[1, 3],
[2, 3]],
[[1, 4],
[2, 4]]])
要与问题中显示的订单相同,您可以使用np.transpose
:
>>> np.dstack([xs, ys]).transpose((1, 0, 2))
array([[[1, 3],
[1, 4]],
[[2, 3],
[2, 4]]])