如何使用现有二维阵列的条件创建新的numpy二维阵列

2024-09-30 19:37:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有3列N行的2d数组。 第三列中只有0或1。 我需要创建2个numpy数组。它们都包含给定矩阵的前2列,但第一个数组只有与第三列中的0对应的行,第二个数组只有与1对应的行

我已经试过了,但由于尺寸问题失败了。我以前从未使用过这种格式。 onlyNormal_Xtest = np.vstack((onlyNormal_Xtest, Xy[Xy[N_train:, 2] == 0]))

有没有可能比跟随更快

onlyNormal_Xtest = np.array([])
Xy_test = Xy[N_train:, :]

    for i in range(np.size(Xy_test, 0)):
        if (Xy_test[i, 2] == 0):
            onlyNormal_Xtest = np.append(onlyNormal_Xtest, Xy_test[i, :2])

实际上,由于尺寸问题,它仍然不起作用


Tags: intestnumpyfor尺寸格式nptrain
1条回答
网友
1楼 · 发布于 2024-09-30 19:37:21

不确定我是否理解你的问题,但这是我认为你试图做的代码

a = np.array([[1,2,0],
             [3,4,1],
             [5,6,0],
             [7,8,1]])

给予

a[a[:,2]==1][:,:2]
array([[3, 4],
       [7, 8]])
a[a[:,2]==0][:,:2]
array([[1, 2],
       [5, 6]])

相关问题 更多 >