在 python 中将数组拆分为两个较小的数组
splitting an array into two smaller arrays in python
我有一个大小为 80x40 的数组,我想根据特定列 (10) 中的值将每一行发送到两个较小的数组之一。我有类似于下面的代码,但这最终会使数组变平。我不知道输出数组 (Array2,Array3) 的 Y 维度。我想我可以用一些代码计算所有高于和低于 50 的值以获得输出轴的 Y 维度,然后制作 np.zeros(Array.shape[0],Yvalues) 的 2 个输出数组并追加逐行到那个,但我仍然不确定它是如何工作的。
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]
我有一个大小为 80x40 的数组,我想根据特定列 (10) 中的值将每一行发送到两个较小的数组之一。我有类似于下面的代码,但这最终会使数组变平。我不知道输出数组 (Array2,Array3) 的 Y 维度。我想我可以用一些代码计算所有高于和低于 50 的值以获得输出轴的 Y 维度,然后制作 np.zeros(Array.shape[0],Yvalues) 的 2 个输出数组并追加逐行到那个,但我仍然不确定它是如何工作的。
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]