Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >numpy中mgrid()和meshgrid()函数

numpy中mgrid()和meshgrid()函数

作者头像
狼啸风云
修改于 2022-09-03 12:52:38
修改于 2022-09-03 12:52:38
3K00
代码可运行
举报
运行总次数:0
代码可运行

一、meshgrid函数

meshgrid函数通常使用在数据的矢量化上。它适用于生成网格型数据,可以接受两个一维数组生成两个二维矩阵,对应两个数组中所有的(x,y)对。示例展示:

由上面的示例展示可以看出,meshgrid的作用是:

根据传入的两个一维数组参数生成两个数组元素的列表。如果第一个参数是xarray,维度是xdimesion,第二个参数是yarray,维度是ydimesion。那么生成的第一个二维数组是以xarray为行,共ydimesion行的向量;而第二个二维数组是以yarray的转置为列,共xdimesion列的向量。

二、 mgrid函数

用法:返回多维结构,常见的如2D图形,3D图形。对比np.meshgrid,在处理大数据时速度更快,且能处理多维(np.meshgrid只能处理2维) ret = np.mgrid[ 第1维,第2维 ,第3维 , …] 返回多值,以多个矩阵的形式返回,

第1返回值为第1维数据在最终结构中的分布,

第2返回值为第2维数据在最终结构中的分布,以此类推。(分布以矩阵形式呈现)

例如np.mgrid[X , Y] 样本(i,j)的坐标为 (X[i,j] ,Y[i,j]),X代表第1维,Y代表第2维,在此例中分别为横纵坐标。

例如1D结构(array),如下:

In [2]: import numpy as np In [3]: pp=np.mgrid[-5:5:5j] In [4]: pp Out[4]: array([-5. , -2.5, 0. , 2.5, 5. ])

例如2D结构 (2D矩阵),如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> pp = np.mgrid[-1:1:2j,-2:2:3j]
>>> x , y = pp
>>> x
array([[-1., -1., -1.],
[ 1., 1., 1.]])
>>> y
array([[-2., 0., 2.],
[-2., 0., 2.]])

例如3D结构 (3D立方体),如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> pp = np.mgrid[-1:1:2j,-2:2:3j,-3:3:5j]
>>> print pp
[[[[-1. -1. -1. -1. -1. ]
[-1. -1. -1. -1. -1. ]
[-1. -1. -1. -1. -1. ]]


[[ 1. 1. 1. 1. 1. ]
[ 1. 1. 1. 1. 1. ]
[ 1. 1. 1. 1. 1. ]]]



[[[-2. -2. -2. -2. -2. ]
[ 0. 0. 0. 0. 0. ]
[ 2. 2. 2. 2. 2. ]]


[[-2. -2. -2. -2. -2. ]
[ 0. 0. 0. 0. 0. ]
[ 2. 2. 2. 2. 2. ]]]



[[[-3. -1.5 0. 1.5 3. ]
[-3. -1.5 0. 1.5 3. ]
[-3. -1.5 0. 1.5 3. ]]


[[-3. -1.5 0. 1.5 3. ]
[-3. -1.5 0. 1.5 3. ]
[-3. -1.5 0. 1.5 3. ]]]]

三、meshgrid 和 mgrid 的区别

mgrid[[1:3:3j, 4:5:2j]] 3j:3个点

  • 步长为复数表示点数,左闭右闭
  • 步长为实数表示间隔,左闭右开
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/11/25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
numpy meshgrid和reval用法
numpy中有一些强大的函数可以很方便的实现日常的数值处理计算。在机器学习的特征处理中,meshgrid使用的很多,我之前对于meshgrid的用法一直是有点茫然记不住,后来看到一个stackoverflow的帖子恍然大悟,所以记录分享一下,
泽霖
2023/11/26
4310
轻松搞懂Numpy中的Meshgrid函数
本文主要介绍Numpy模块中的Meshgrid函数。meshgrid函数就是用两个坐标轴上的点在平面上画网格(当然这里传入的参数是两个的时候)。当我们指定多个参数,比如三个参数,那么我们就可以用三个一维的坐标轴上的点在三维平面上绘制网格。
触摸壹缕阳光
2020/03/27
3.9K0
python中griddata的外插值_利用griddata进行二维插值
实际问题可以抽象为 \(z = f(x, y)\) 的形式,而你只知道有限的点 \((x_i,y_i,z_i)\),你又需要局部的全数据,这时你就需要插值,一维的插值方法网上很多,不再赘述,这里仅介绍二维的插值法
全栈程序员站长
2022/09/01
4K0
numpy中的meshgrid函数「建议收藏」
numpy官方文档meshgrid函数帮助文档https://docs.scipy.org/doc/numpy/reference/generated/numpy.meshgrid.html
全栈程序员站长
2022/09/05
5420
Numpy基础知识回顾
由于NumPy提供了一个简单易用的C API,因此很容易将数据传递给由低级语言编写的外部库,外部库也能以NumPy数组的形式将数据返回给Python。这个功能使Python成为一种包装C/C++/Fortran历史代码库的选择,并使被包装库拥有一个动态的、易用的接口。
timerring
2023/05/07
2.2K0
Numpy基础知识回顾
Numpy中Meshgrid函数介绍及2种应用场景
近期在好几个地方都看到meshgrid的使用,虽然之前也注意到meshgrid的用法。
lyhue1991
2020/07/20
4.4K0
Numpy中Meshgrid函数介绍及2种应用场景
NumPy之:ndarray中的函数
在NumPy中,多维数组除了基本的算数运算之外,还内置了一些非常有用的函数,可以加快我们的科学计算的速度。
程序那些事
2021/05/24
1.7K0
图解NumPy:常用函数的内在机制
NumPy 是一个基础软件库,很多常用的 Python 数据处理软件库都使用了它或受到了它的启发,包括 pandas、PyTorch、TensorFlow、Keras 等。理解 NumPy 的工作机制能够帮助你提升在这些软件库方面的技能。而且在 GPU 上使用 NumPy 时,无需修改或仅需少量修改代码。
郭好奇同学
2021/01/12
3.9K0
图解NumPy:常用函数的内在机制
【深度学习】 NumPy详解(一):创建数组的n个函数
Python本身是一种伟大的通用编程语言,在一些流行的库(numpy,scipy,matplotlib)的帮助下,成为了科学计算的强大环境。本系列将介绍Python编程语言和使用Python进行科学计算的方法,主要包含以下内容:
Qomolangma
2024/07/29
2110
【深度学习】 NumPy详解(一):创建数组的n个函数
NumPy 1.26 中文官方指南(一)
NumPy 是 Python 中科学计算的基础包。 这是一个提供多维数组对象、各种派生对象(如掩码数组和矩阵)以及一系列用于数组快速操作的例程的 Python 库,包括数学、逻辑、形状操作、排序、选择、I/O、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等。
ApacheCN_飞龙
2024/04/26
1.3K0
NumPy 1.26 中文官方指南(一)
这100道练习,带你玩转Numpy
Numpy是Python做数据分析所必须要掌握的基础库之一。以下为入门Numpy的100题小练习,原为github上的开源项目,由和鲸社区的小科翻译并整理(保留了部分原文作为参考)。受限于篇幅,小编在这里只提供了部分题目的运行结果。友情提示:代码虽好,自己动手才算学到。
Datawhale
2020/02/12
1.1K0
如果不懂Numpy,请别说自己是Python程序员
大约七八年前,我曾经用 pyOpenGL 画过地球磁层顶的三维模型,这段代码至今仍然还运行在某科研机构里。在那之前,我一直觉得自己是一个合(you)格(xiu)的 python 程序员,似乎无所不能。但磁层顶模型的显示效果令我沮丧——尽管这个模型只有十几万个顶点,拖拽、缩放却非常卡顿。最终,我把顶点数量删减到两万左右,以兼顾模型质量和响应速度,才勉强交付了这个任务。从此我开始怀疑 python 的性能,甚至一度怀疑 python 是否还是我的首选工具。
AI科技大本营
2019/10/10
2K0
如果不懂Numpy,请别说自己是Python程序员
NumPy Essentials 带注释源码 五、NumPy 中的线性代数
# 来源:NumPy Essentials ch5 矩阵 import numpy as np ndArray = np.arange(9).reshape(3,3) # matrix 可以从 ndarray 直接构建 x = np.matrix(ndArray) # identity 用于构建单位矩阵 y = np.mat(np.identity(3)) x ''' matrix([[0, 1, 2], [3, 4, 5], [6, 7, 8]])
ApacheCN_飞龙
2019/02/15
8810
NumPy Essentials 带注释源码 五、NumPy 中的线性代数
收藏 | Numpy详细教程
NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(通常是元素是数字)。在NumPy中维度(dimensions)叫做轴(axes),轴的个数叫做秩(rank)。
Python数据科学
2018/12/25
2.5K0
Python数据分析 | Numpy与2维数组操作
教程地址:http://www.showmeai.tech/tutorials/33
ShowMeAI
2022/02/25
1.9K0
Python数据分析 | Numpy与2维数组操作
Python 之NumPy
NumPy的主要对象是同质的多维数组。它是一个有明确索引的相同类型的元素组成的表。在NumPy中维度称之为轴,轴数称之为列。
py3study
2020/01/13
6710
看图学NumPy:掌握n维数组基础知识点,看这一篇就够了
NumPy是Python的最重要的扩展程序库之一,也是入门机器学习编程的必备工具。然而对初学者来说,NumPy的大量运算方法非常难记。
刘早起
2021/01/05
6.4K0
numpy.meshgrid()
Return coordinate matrices from coordinate vectors.Make N-D coordinate arrays for vectorized evaluations of N-D scalar/vector fields over N-D grids, given one-dimensional coordinate arrays x1, x2,…, xn.Changed in version 1.9: 1-D and 0-D cases are allowed.
狼啸风云
2019/11/28
7200
Python Numpy基础教程
本文是一个关于Python numpy的基础学习教程,其中,Python版本为Python 3.x
oYabea
2020/09/07
8460
Python | numpy matplotlib scipy练习笔记
return y - (t[0] * x**2 + t[1] * x + t[2])
用户7886150
2021/01/02
6820
相关推荐
numpy meshgrid和reval用法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验