标签:tps python笔记 eva 讲解 语法 ade 数组 code containe
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.]]]
语法格式如下:
np.mgrid[第1维,第2维,...]
dim = [start: end: step]
维度间用逗号分隔,第 i 维的写法存在两种情况:
a: b: c
c
表示生成的数组元素之间的步长;[a, b)
(左闭右开);a: b: cj
cj
表示生成的数组元素的个数;[a, b]
(左闭又闭);具体的用法,我们在后面实例部分讲解。
一维数组
# 在[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]
两个二维数组
对于生成的高维数组,我们应该这样来看:
两个数组再堆叠起来
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
的矩阵,其沿令外一个维度的方向进行复制拓展。
对于更高维的数组,我们结合它常见的应用三维绘图,具体的参考:<python笔记:np.mgrid
的用法>。
标签:tps python笔记 eva 讲解 语法 ade 数组 code containe
原文地址:https://www.cnblogs.com/FLYMANJB/p/13365705.html