我有两个形状为(8760,1)的numpy数组,我想将它们组合成一个单个数组(8760,2),然后从中筛选出第一个索引列中可能为零的任何值,或量表中的“数据”,以便我可以对temp数组进行统计操作。我尝试过np.stack,然后尝试以这种方式过滤掉任何零值,但是最终我的临时数组是3D而不是2D。
data=np.stack((mb, gauge), axis=-1)
dta = data[:,data!=0]
idx = np.where(data[:,1]>0)
temp = data[idx,:]
我知道我可以先从量表中滤除零,但我想保留与mb数组一起的索引值
np.stack
沿着新创建的轴连接。因此,您的阵列将变成3D。
要沿现有轴加入,可以使用np.concatenate
:
a1 = np.empty((100, 1))
a2 = np.empty((100, 1))
a3 = np.concatenate((a1, a2), axis=1) # will give a (100, 2) array