Arrays 按指定顺序放置两个numpython数组
下面的函数根据二维数组Arrays 按指定顺序放置两个numpython数组,arrays,python-3.x,numpy,multidimensional-array,filter,Arrays,Python 3.x,Numpy,Multidimensional Array,Filter,下面的函数根据二维数组indx第一列的顺序,将numpy数组a和b的值放在一起。但是,当我运行它时,它会将a和b的值舍入。我想保持a和b的值不变。我怎么能做到呢 import numpy as np a= np.array([-1.4545667,-22.44,-3.67,-4.4457,-6.789]) b= np.array([-2.8,-2.54,-6.77,-5.7,-112.9]) indx = np.array([[1, 1010],[0,1212],[1,9000],[0,30
indx
第一列的顺序,将numpy数组a
和b
的值放在一起。但是,当我运行它时,它会将a
和b
的值舍入。我想保持a
和b
的值不变。我怎么能做到呢
import numpy as np
a= np.array([-1.4545667,-22.44,-3.67,-4.4457,-6.789])
b= np.array([-2.8,-2.54,-6.77,-5.7,-112.9])
indx = np.array([[1, 1010],[0,1212],[1,9000],[0,300],[1,400],[0,640],[1,450],[0,345],[1,344578],[0,232323478]])
d1 = np.nonzero(indx[:, 0])[:len(a)]
d0 = np.nonzero(1-indx[:, 0])[:len(b)]
loss_combo = np.empty_like(indx[:, 1])
loss_combo[d0] = b
loss_combo[d1] = a
输出:
[ -1 -2 -22 -2 -3 -6 -4 -5 -6 -112]
预期产出:
[ 1.4545667 -2.8 -22.44 -2.54... -112.9]
Output
数组的dtype
是什么。看起来像是integer
?是的,它输出一个int,我希望它输出一个float,但你创建它就像一个整数数组,indx
!