np.mgrid使用,


目录

  • 01 功能
  • 02 语法
  • 03 举例
  • 04 用途

01 功能

np.mgrid 用与生成具有“空间结构”的等差三维数组,比如下面代码,生成维度为 (2, 5, 5)。:

array3D = np.mgrid[-4: 0: 5j,
                         0: 4: 5j]
print(array3D.shape)
print(array3D)
(2, 5, 5)
[[[-4. -4. -4. -4. -4.]
  [-3. -3. -3. -3. -3.]
  [-2. -2. -2. -2. -2.]
  [-1. -1. -1. -1. -1.]
  [ 0.  0.  0.  0.  0.]]

 [[ 0.  1.  2.  3.  4.]
  [ 0.  1.  2.  3.  4.]
  [ 0.  1.  2.  3.  4.]
  [ 0.  1.  2.  3.  4.]
  [ 0.  1.  2.  3.  4.]]]

02 语法

语法格式如下:

np.mgrid[第1维,第2维,...]
dim = [start: end: step]

维度间用逗号分隔,第 i 维的写法存在两种情况:

  • a: b: c
    • c表示生成的数组元素之间的步长;
    • 数组区间为 [a, b)(左闭右开);
  • a: b: cj
    • cj表示生成的数组元素的个数;
    • 数组区间为[a, b](左闭又闭);

具体的用法,我们在后面实例部分讲解。

03 举例

  • 两个数组再堆叠起来

    x,y = np.mgrid[-4: 0: 5j,
                    0: 4: 5j]
    
    print("x: \t", x.shape, "\n", x)
    print("y: \t", y.shape, "\n", y)
    
    x: 	 (5, 5) 
     [[-4. -4. -4. -4. -4.]
      [-3. -3. -3. -3. -3.]
      [-2. -2. -2. -2. -2.]
      [-1. -1. -1. -1. -1.]
      [ 0.  0.  0.  0.  0.]]
    
    y: 	 (5, 5) 
     [[0. 1. 2. 3. 4.]
      [0. 1. 2. 3. 4.]
      [0. 1. 2. 3. 4.]
      [0. 1. 2. 3. 4.]
      [0. 1. 2. 3. 4.]]
    

    生成的数组将其进行拆分即两个 5 x 5 的矩阵,其沿令外一个维度的方向进行复制拓展。

04 用途

对于更高维的数组,我们结合它常见的应用三维绘图,具体的参考:<python笔记:np.mgrid的用法>。

相关内容

    暂无相关文章

评论关闭