2

我有一个 9 列的 numpy 数组。我需要能够制作列的子集,然后生成一个只是子集的新数组(例如合并 0:3 和 6:8)。获取单个子集很容易,但我坚持创建一个新数组。

Cmatrix =np.array([ (1,    1,   0,    1,     0,    0,  1, 0,  1),\
                    (1,   -1,   0,    1,     0,    0, -1, 0, -1),\
                    (1,    0,   1,    0,     0,    1,  1, 0,  1),\
                    (1,    0,   1,    0,     0,    1, -1, 0, -1),\
                    (1,    0, 0.5,    0,     0, 0.25,  0, 1,  1),\
                    (1,    0, 0.5,    0,     0, 0.25,  0, 1, -1),\
                    (1,  0.5, 0.5, 0.25,  0.25, 0.25,  1, 0,  1),\
                    (1,  0.5, 0.5, 0.25,  0.25, 0.25,  1, 0,  1),\
                    (1, -0.5, 0.5, 0.25, -0.25, 0.25, -1, 0, -1),\
                    (1, -0.5, 0.5, 0.25, -0.25, 0.25, -1, 0, -1)])
4

2 回答 2

3
np.hstack((Cmatrix[:, :3], Cmatrix[:, 6:8]))
于 2013-10-21T16:21:44.633 回答
3
Cmatrix =np.array([ (1,    1,   0,    1,     0,    0,  1, 0,  1),\
                    (1,   -1,   0,    1,     0,    0, -1, 0, -1),\
                    (1,    0,   1,    0,     0,    1,  1, 0,  1),\
                    (1,    0,   1,    0,     0,    1, -1, 0, -1),\
                    (1,    0, 0.5,    0,     0, 0.25,  0, 1,  1),\
                    (1,    0, 0.5,    0,     0, 0.25,  0, 1, -1),\
                    (1,  0.5, 0.5, 0.25,  0.25, 0.25,  1, 0,  1),\
                    (1,  0.5, 0.5, 0.25,  0.25, 0.25,  1, 0,  1),\
                    (1, -0.5, 0.5, 0.25, -0.25, 0.25, -1, 0, -1),\
                    (1, -0.5, 0.5, 0.25, -0.25, 0.25, -1, 0, -1)]
interesting_cols = range(3) + range(6,8)
new_matrix = Cmatrix[:,interesting_cols]
于 2013-10-21T16:22:32.863 回答