NumPy numpy.meshgrid 函数

Suraj Joshi 2023年1月30日
  1. numpy.meshgrid() 语法
  2. 示例代码:numpy.meshgrid() 生成 meshgrids 的方法
  3. 示例代码:在 numpy.meshgrid() 方法中设置 indexing='ij'来生成 meshgrids
  4. 示例代码:在 numpy.meshgrid() 方法中设置 sparse=True 来生成 meshgrids
NumPy numpy.meshgrid 函数

Python Numpynumpy.meshgrid() 函数从一维坐标数组 x1, x2,...,xn 创建一个 N 维矩形网格。

numpy.meshgrid() 语法

numpy.meshgrid(*xi, **kwargs)

参数

x1,x2,...,xn 类数组。表示网格坐标的一维数组。
indexing 类数组。定义了输出的索引。xy(笛卡尔)或 ij(矩阵)。
sparse 布尔型。返回稀疏网格,以节省内存(sparse=True)
copy 返回原数组中的视图,以节省内存(copy=True)

返回值

从坐标向量生成坐标矩阵。

示例代码:numpy.meshgrid() 生成 meshgrids 的方法

import numpy as np

x=np.linspace(2,5,4)
y=np.linspace(2,4,3)

xx,yy=np.meshgrid(x, y)

print("xx matrix:")
print(xx)
print("\n")

print("shape of xx matrix:")
print(xx.shape)
print("\n")

print("yy matrix:")
print(yy)
print("\n")

print("shape of yy matrix:")
print(yy.shape)
print("\n")

输出:

xx matrix:
[[2. 3. 4. 5.]
 [2. 3. 4. 5.]
 [2. 3. 4. 5.]]


shape of xx matrix:
(3, 4)


yy matrix:
[[2. 2. 2. 2.]
 [3. 3. 3. 3.]
 [4. 4. 4. 4.]]


shape of yy matrix:
(3, 4)

它创建矩阵 xxyy,使每个矩阵中的相应元素配对得到网格中所有点的 xy 坐标。

示例代码:在 numpy.meshgrid() 方法中设置 indexing='ij'来生成 meshgrids

import numpy as np

x=np.linspace(2,5,4)
y=np.linspace(2,4,3)

xx,yy=np.meshgrid(x,y,indexing='ij')

print("xx matrix:")
print(xx)
print("\n")

print("shape of xx matrix:")
print(xx.shape)
print("\n")

print("yy matrix:")
print(yy)
print("\n")

print("shape of yy matrix:")
print(yy.shape)
print("\n")

输出:

xx matrix:
[[2. 2. 2.]
 [3. 3. 3.]
 [4. 4. 4.]
 [5. 5. 5.]]


shape of xx matrix:
(4, 3)


yy matrix:
[[2. 3. 4.]
 [2. 3. 4.]
 [2. 3. 4.]
 [2. 3. 4.]]


shape of yy matrix:
(4, 3)

它创建矩阵 xxyy,以便根据矩阵元素的索引形成两个元素的对应元素。

矩阵 xxyy 是前一种情况下 xxyy 的转置。

示例代码:在 numpy.meshgrid() 方法中设置 sparse=True 来生成 meshgrids

import numpy as np

x=np.linspace(2,5,4)
y=np.linspace(2,4,3)

xx,yy=np.meshgrid(x,y,sparse=True)

print("xx matrix:")
print(xx)
print("\n")

print("shape of xx matrix:")
print(xx.shape)
print("\n")

print("yy matrix:")
print(yy)
print("\n")

print("shape of yy matrix:")
print(yy.shape)
print("\n")

输出:

xx matrix:
[[2. 3. 4. 5.]]


shape of xx matrix:
(1, 4)


yy matrix:
[[2.]
 [3.]
 [4.]]


shape of yy matrix:
(3, 1)

如果我们在 meshgrid() 方法中设置 sparse=True,它将返回稀疏网格以节省内存。

作者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn