3
我有兩個numpy的數組:插入值按行的2D numpy的陣列
x = np.array([1,2,3,4,5])
y = np.array([10,20,30,40,50])
我試圖得到的是這樣的:
array([[ 1. , 3.25, 5.5 , 7.75, 10. ],
[ 2. , 6.5 , 11. , 15.5 , 20. ],
[ 3. , 9.75, 16.5 , 23.25, 30. ],
[ 4. , 13. , 22. , 31. , 40. ],
[ 5. , 16.25, 27.5 , 38.75, 50. ]])
我的做法是不是很NumPy的喜歡和需要改進(擺脫for循環)非常大的陣列:
myarray = np.zeros((5,5))
for idx in np.arange(5):
myarray[idx,:] = np.linspace(x[idx], y[idx], 5)
什麼是一個很好的方法來做到這一點在Num PY? 以這種方式生成myarray然後操縱它會更好嗎?
myarray = np.zeros((5,5))
myarray[:,0] = x
myarray[:,-1] = y
array([[ 1., 0., 0., 0., 10.],
[ 2., 0., 0., 0., 20.],
[ 3., 0., 0., 0., 30.],
[ 4., 0., 0., 0., 40.],
[ 5., 0., 0., 0., 50.]])