我有两个数组:
a=np.array((1,2,3,4,5))
b=np.array((2,3,4,5,6))
我想要的是使用 a 和 b 的值作为 linspace 的限制,例如
c=np.linspace(a,b,11)
我在使用这段代码时遇到错误。答案应该是数组的第一个元素:
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]
最佳答案
如果您想避免显式的 Python 循环,您可以执行以下操作:
>>> 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. ]])
关于来自两个数组的 Python linspace 限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16887148/