【问题标题】:splitting an array into two smaller arrays in python在python中将一个数组拆分为两个较小的数组
【发布时间】:2015-04-20 09:16:13
【问题描述】:

我有一个大小为 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,:])

【问题讨论】:

    标签: python arrays numpy split append


    【解决方案1】:

    举个小例子:

    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]
    

    【讨论】:

      猜你喜欢
      • 2020-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-13
      • 1970-01-01
      • 1970-01-01
      • 2015-05-17
      • 1970-01-01
      相关资源
      最近更新 更多