I'm not sure if this is mathematically possible, but I'd figure I'd ask anyway.
I have two arrays with sizes (50,1) and (693,1). What I want to do is add these values together each time. In other words, I want to take the values in the first array (50,1) and add it to each of the values in the array size (693,1). Is there a way to do this in python? Every thing I've tried fails because of the different sizes of the arrays.
EDIT
Here's a short example of what I was thinking:
array_1 = [1,1,4,5]
array_2 = [1,3,4]
new_array = [2, 2, 5, 6, 4, 4, 7, 8, 5, 5, 8, 9]
So taking each of the elements in array_2 and adding them to each element of array_1
CodePudding user response:
Broadcast, sum, and flatten:
array_1 = np.array([1,1,4,5])
array_2 = np.array([1,3,4])
out = (array_1 array_2[:,None]).ravel()
Or:
out = np.add.outer(array_2, array_1).ravel()
output: array([2, 2, 5, 6, 4, 4, 7, 8, 5, 5, 8, 9])
