numpy中mgrid()和meshgrid()函数
最近看到一篇很清晰的讲解mgrid()和meshgrid()函数的文章,收藏并转载于此,原文链接:https://www.cnblogs.com/shenxiaolin/p/8854197.html
一、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矩阵),如下:
>>> 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立方体),如下:
>>> 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个点
- 步长为复数表示点数,左闭右闭
- 步长为实数表示间隔,左闭右开
numpy中mgrid()和meshgrid()函数相关推荐
- python使用numpy中的np.mean函数计算数组的均值、np.var函数计算数据的方差、np.std函数计算数组的标准差
python使用numpy中的np.mean函数计算数组的均值.np.var函数计算数据的方差.np.std函数计算数组的标准差 目录
- python transpose函数_转载:numpy中transpose和swapaxes函数讲解
看<利用python进行数据分析>,有些不大清楚numpy中transpose和swapaxes函数的原理,这篇文章写的比较清楚,转载过来方便个人随时阅读和温习 版权声明:本文为CSDN博 ...
- 通过一个函数对比 mgrid以及meshgrid函数
简 介: 利用3D曲面显示可以更好的将三维函数性能可视化展示.利用view_init()设置不同的视角,动态显示曲面的不同方面. 关键词: meshgrid,mgrid,view_init #merm ...
- numpy中的random.choice()函数
介绍 random.choice()函数:从给定的1维数组中随机采样的函数. 参数 numpy.random.choice(a, size=None, replace=True, p=None) a ...
- python数组求和_Python NumPy中的数组求和函数sum | 坐倚北风
在Python中可以使用NumPy中的sum函数来进行数值求和,sum方法的格式如下: numpy.sum(a, axis=None, dtype=None, out=None, keepdims=, ...
- Python—Numpy学习之【meshgrid函数】
meshgrid函数 功能:生成网格点坐标矩阵,返回的是两个矩阵,分别是横坐标矩阵和纵坐标矩阵. 横坐标矩阵的元素和纵坐标矩阵对应位置的元素,共同组成了一个网格点的完整坐标 补充练习
- Python Numpy中返回下标操作函数-节约时间的利器
如果觉得Python慢,那么首先应该想到是不是没有用对. Numpy是Python中自带的一个数值计算库,包含了大量数值计算的常用方法.其底层大量使用C/C++(超过50%的代码量),矩阵计算调用LA ...
- numpy中reshape,multiply函数
multiply(a,b)就是个乘法. 一. 如果a,b是两个数组,那么对应元素相乘. 1. 先来介绍下reshape() >>> from numpy import * >& ...
- numpy 中的 random.rand() 函数
1. random.rand() 这个函数的参数是数组的维度,取值范围是 [0,1) 2. random.randn() 这个函数的参数是数组的维度,返回一组服从正态分布的随机值. 3. ra ...
最新文章
- 堆晶结构_橄榄岩的特殊问题
- 做产品16年总结9条心得
- “SQL 被低估了!”
- linux ssh非交互脚本,Linux expect非交互式执行脚本
- React-Native 使用自定义IconFont
- codeforces 并查集_codeforces 892E 可撤销并查集
- RH124 Chapter 2 Managing Files From the Command Line
- 什么是java句柄_JAVA中的术语:句柄是啥意思
- win10安装打印机驱动的方法,电脑打印机驱动安装教程
- JAVAWeb新闻发布系统
- 美剧深度扫盲:有线电视台之风起云涌--之一(转载)
- BFS算法(广度优先搜索)java
- c语言程序设计伴随矩阵,c语言求方阵的行列式、伴随矩阵算法
- Android 12/12L 全面升级、微信和“吃鸡”都在用 Flutter,2021 Google 开发者大会你看了吗?
- 高老师的架构设计_隽语集(AA_0151)
- 901.freeswitch常用命令
- sqlmap绕过空格过滤方法
- 使用 CSS 追踪用户
- uniapp中输入框禁用表情与特殊符号
- OpenCV Error: Unspecified error (could not find a writer for the specified extension) in imwrite
热门文章
- 网间互联-国家级互联网骨干直联点
- 无监督学习的简单统一
- win7系统安装信息服务器不可用怎么办,Win7电脑RPC服务器不可用怎么办 RPC服务器不可用解决方法...
- 第八章第一节:Java继承之继承概念、语法、成员访问和super关键字
- 『重磅』免费无限量下载知网/万方/维普等数据库文献的正规渠道
- 用Ultraiso刻录U盘装系统
- 产品介绍 | 51LA短链分发平台
- Python 网络编程(6)总结【转】
- YOLOv5、v7改进之三十一:CrissCrossAttention注意力机制
- 编写一个类Shop(商店)、内部类InnerCoupons(内部购物券)