I have two arrays:
a=np.array((1,2,3,4,5))
b=np.array((2,3,4,5,6))
What I want is to use the values of a and b for the limits of linspace e.g.
c=np.linspace(a,b,11)
I get an error when I use this code. The answer should be for the first element of the array:
c=np.linspace(a,b,11)
print c
c=[1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2]
If you want to avoid explicit Python loops, you can do the following:
>>> a = np.array([1, 2, 3, 4, 5]).reshape(-1, 1)
>>> b = np.array([2, 3, 4, 5, 6]).reshape(-1, 1)
>>> c = np.linspace(0, 1, 11)
>>> a + (b - a) * c
array([[ 1. , 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2. ],
[ 2. , 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3. ],
[ 3. , 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 4. ],
[ 4. , 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5. ],
[ 5. , 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6. ]])
You can do this:
c = np.array([np.linspace(i,j,5) for i,j in zip(a,b)])
#array([[ 1. , 1.25, 1.5 , 1.75, 2. ],
# [ 2. , 2.25, 2.5 , 2.75, 3. ],
# [ 3. , 3.25, 3.5 , 3.75, 4. ],
# [ 4. , 4.25, 4.5 , 4.75, 5. ],
# [ 5. , 5.25, 5.5 , 5.75, 6. ]])
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With