<分区>
我试图将一个 numpy 数组的每个元素依次添加到另一个 numpy 一维数组,但不是作为逐元素操作。
更具体地说,定义 func
:
import numpy as np
array1 = np.array([1,2,3,4])
array2 = np.array([10,20,30])
def func(array1,array2):
#what goes here?
return output_array
output_array = func(array1,array2)
这样:
output_array = np.array([[11,12,13,14],[21,22,23,24],[31,32,33,34]])
我已经设法使用:
def func(array1,array2):
return np.array(list(map(lambda x: x + array1,array2)))
然而,似乎应该有更好的方法来做到这一点,而且将其推广到 n 维也很有用。我试过 np.vectorize()
:
def func(array1,array2):
np_function = np.vectorize(lambda x: x + array1)
return np_function(array2)
但这不起作用,因为它试图将序列分配给迭代器内的单个数组元素(错误“使用序列设置数组元素”)。