文件目录
  • 01 作用
  • 02 语法
  • 03 举例说明
  • 04 主要用途

01 作用

np.mgrid 用与生成具备“空间布局 ”的等差三维数组 ,例如下边编码,生成维度为 (2, 5, 5) 。:

array三d = np.mgrid[-4: 0: 5j, 0: 4: 5j] print(array三d.shape) print(array三d) (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[第一维,第二维,...] dim = [start: end: step]

维度间用分号隔开 ,第 i 维的书写存有二种状况:

  • a: b: c
    • c表明生成的数组原素中间的步幅;
    • 数组区间为 [a, b)(左闭右开);
  • a: b: cj
    • cj表明生成的数组原素的数量;
    • 数组区间为[a, b](左闭又闭);

实际的使用方法 ,我们在后边案例一部分解读。

03 举例说明

  1. 一维数组

    # 在[0, 4)区间内生成数组,间距为1 -> [0, 1, 2, 3] array1D = np.mgrid[0: 4: 1] # 在[0, 4]区间内生成数组,数量为5 -> [0, 1, 2, 3, 4] array1Dj = np.mgrid[0: 4: 5j] print(array1D) print(array1Dj) [0 1 2 3] [0. 1. 2. 3. 4.]

    必须留意的是 ,当 c > b - a 时,其不容易生成合理的数组,默认设置为0:

    array1D = np.mgrid[0: 4: 5] print(array1D) [0]
  2. 2个二维数组

    针对生成的高维空间数组 ,大家应当那样看来:

    • 其会对数组沿别的维度开展拷贝扩展(x->y,y->x)
  • 2个数组再层叠起來

    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.]]

    生成的数组将其开展分拆即2个 5 x 5 的引流矩阵,其沿令外一个维度的方位开展拷贝扩展。

04 主要用途

针对更高维空间的数组 ,大家融合它普遍的运用三维制图,实际的参照:<python手记:np.mgrid的使用方法> 。

文章来源于网络,如有侵权请联系站长QQ61910465删除
本文版权归趣KUAI排www.SEOguruBlog.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系QQ→61910465