我有一个大小为80x40的数组,并希望根据特定列(10)中的值将每一行发送到两个较小的数组之一中。我有类似于下面的代码,但是最终使数组变平。我不知道输出数组(Array2,Array3)的Y维。我想我可以让一些代码对50上下的所有值进行计数,以获取输出轴的Y尺寸,然后制作2个np.zeros(Array.shape [0],Yvalues)输出数组,并逐行附加到那,但是我仍然不确定那将如何工作。
Array.shape=(80,40)
Array2=[]
Array3=[]
for x in range(0,Array.shape[0]):
if Array[x,10]<50:
Array2.append(Array[x,:])
else:
Array3.append(Array[x,:])
作为一个较小的示例:
a = np.array([[1, 10], [1, 20], [2, 30], [2, 40], [1, 50], [3, 60], [1, 70]])
a2 = a[a[:, 0] < 1.5]
a3 = a[a[:, 0] >= 1.5]
a2
就是现在:
array([[ 1, 10],
[ 1, 20],
[ 1, 50],
[ 1, 70]])
而a3
现在是:
array([[ 2, 30],
[ 2, 40],
[ 3, 60]])
因此,在您的情况下,请使用:
a2 = a[a[:, 10] < 50]
a3 = a[a[:, 10] >= 50]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句