python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > numpy数组维度扩展

Python中的numpy数组维度扩展详解

作者:TracelessLe

这篇文章主要介绍了Python中的numpy数组维度扩展详解,在numpy数组中,切片功能非常常用,例如x[:]表示取x的所有元素,可以通过在切片中增加None或者np.newaxis实现,它们的作用就是在相应的位置上增加一个维度,在这个维度上只有一个元素,需要的朋友可以参考下

numpy数组维度扩展

在numpy数组中,切片功能非常常用,例如 x[:] 表示取 x 的所有元素。

那么如何对一个numpy数组进行维度扩展呢?

可以通过在切片中增加 None 或者 np.newaxis 实现,它们的作用就是在相应的位置上增加一个维度,在这个维度上只有一个元素。

在切片操作中 np.newaxis 和 None 等价:

在这里插入图片描述

实验

假设一个numpy数组如下:

 import numpy as np
 x = np.array([[[1],[2],[3]], [[4],[5],[6]]])

其维度为:

 x.shape
(2, 3, 1)

希望将其维度增加为(1,2,3,1): 可以通过在切片中增加 None :

 y = x[None]
 y
array([[[[1],
         [2],
         [3]],
        [[4],
         [5],
         [6]]]])
 y.shape
(1, 2, 3, 1)

或者在切片中加入 np.newaxis :

 z = x[np.newaxis]
 z
array([[[[1],
         [2],
         [3]],
        [[4],
         [5],
         [6]]]])
 z.shape
(1, 2, 3, 1)

还可以将其维度增加为(2,1,3,1):

 a = x[:,None,:,:]
 a
array([[[[1],
         [2],
         [3]]],
       [[[4],
         [5],
         [6]]]])
 a.shape
(2, 1, 3, 1)
您可能感兴趣的文章:
阅读全文