将一个numpy 3-d矩阵切成2-d矩阵

时间:2018-02-08 05:35:55

标签: python numpy matrix pytorch

我有一个3d numpy矩阵t如下,随机生成:

t = np.random.rand(2,2,2)
array([[[ 0.80351862,  0.25631294],
        [ 0.7971346 ,  0.29468456]],

       [[ 0.33771957,  0.91776256],
        [ 0.6018604 ,  0.55290615]]])

我想提取一个二维矩阵,使得结果沿着三维矩阵的列切片。类似的东西:

array([[ 0.25631294  ,  0.91776256],
       [ 0.29468456,  0.55290615]])

我怎样才能以这种方式切片?

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

这只是最后的暗淡,有一个转置:

>>> t[:,:,1].T
array([[ 0.25631294,  0.91776256],
       [ 0.29468456,  0.55290615]])

答案 1 :(得分:1)

你可以做一个切片,一个整形和一个转置的组合,如下所示:

t[:, :, 1:].reshape((2, 2)).T

我希望它有所帮助