numpy的生成网格矩阵 meshgrid()
numpy模块中的meshgrid函数用来生成网格矩阵,最简单的网格矩阵为二维矩阵
meshgrid函数可以接受 x1, x2,..., xn 等 n 个一维向量,生成 N-D 矩阵。
1 基本语法
meshgrid(*xi, **kwargs)
参数:
xi - x1, x2,..., xn : array_like
返回值:
X1, X2,..., XN : ndarray
2 示例(二维网格)
2.1 一个参数时
import numpy as np a = [1,2,3] b = np.meshgrid(a) print(b) # [array([1, 2, 3])]
当只有一个参数时,返回值也只有一个 b ,若写两个返回值 b, c = np.meshgrid(a) 则会报错。
2.2 两个参数时
2.2.1 两个参数长度一致时
示例1
import numpy as np a = [1,2,3] b = [9,8,7] c, d = np.meshgrid(a,b) print(c) print('-'*10) print(d)
运行
[[1 2 3]
[1 2 3]
[1 2 3]]
----------
[[9 9 9]
[8 8 8]
[7 7 7]]
当两个参数长度一致时(如长度为 N ),则生成 N * N 维矩阵
示例2
交换两参数的顺序
import numpy as np a = [1,2,3] b = [9,8,7] c, d = np.meshgrid(b,a) print(c) # [[9 8 7] # [9 8 7] # [9 8 7]] print(d) # [[1 1 1] # [2 2 2] # [3 3 3]]
交换两个参数顺序后,输出结果发生了变化。
示例3
当返回值值是两个或两个以上参数时,也可用一个参数来接受。
import numpy as np a = [1,2,3] b = [9,8,7] c = np.meshgrid(a,b) print(c) # 下面是打印出的结果+ # [array([[1, 2, 3], # [1, 2, 3], # [1, 2, 3]]), array([[9, 9, 9], # [8, 8, 8], # [7, 7, 7]])]
2.2.2 两个参数长度不一致时
import numpy as np a = [1,2,3] b = [9,8] c, d = np.meshgrid(a,b) print(c) # [[1 2 3] # [1 2 3]] print(d) # [[9 9 9] # [8 8 8]]
这是一个 2 * 3(2 行 3 列)
相当于 b 由 行向量 变成了 列向量。
import numpy as np a = [1,2,3] b = [9,8] c, d = np.meshgrid(b, a) print(c) # [[9 8] # [9 8] # [9 8]] print(d) # [[1 1] # [2 2] # [3 3]]
3 示例(三维网格)
import numpy as np a = [1,2,3] b = [4,5,6] c = [7,8,9] x, y, z = np.meshgrid(a, b, c) print(x) # [[[1 1 1] # [2 2 2] # [3 3 3]] # # [[1 1 1] # [2 2 2] # [3 3 3]] # # [[1 1 1] # [2 2 2] # [3 3 3]]] print(y) # [[[4 4 4] # [4 4 4] # [4 4 4]] # # [[5 5 5] # [5 5 5] # [5 5 5]] # # [[6 6 6] # [6 6 6] # [6 6 6]]] print(z) # [[[7 8 9] # [7 8 9] # [7 8 9]] # # [[7 8 9] # [7 8 9] # [7 8 9]] # # [[7 8 9] # [7 8 9] # [7 8 9]]]
numpy的生成网格矩阵 meshgrid()的更多相关文章
- [matlab] 17.网格矩阵
生成网格矩阵,并且根据条件筛选,重新赋值为0,1二值图像 clear all;close all; %生成二值图 index= randperm(2500,1000); %生成10个不重复随机指标 Z ...
- 深度学习实践-物体检测-faster-RCNN(原理和部分代码说明) 1.tf.image.resize_and_crop(根据比例取出特征层,进行维度变化) 2.tf.slice(数据切片) 3.x.argsort()(对数据进行排列,返回索引值) 4.np.empty(生成空矩阵) 5.np.meshgrid(生成二维数据) 6.np.where(符合条件的索引) 7.tf.gather取值
1. tf.image.resize_and_crop(net, bbox, 256, [14, 14], name) # 根据bbox的y1,x1,y2,x2获得net中的位置,将其转换为14*1 ...
- [转]numpy中的matrix矩阵处理
今天看文档发现numpy并不推荐使用matrix类型.主要是因为array才是numpy的标准类型,并且基本上各种函数都有队array类型的处理,而matrix只是一部分支持而已. 这个转载还是先放着 ...
- numpy中的matrix矩阵处理
numpy模块中的矩阵对象为numpy.matrix,包括矩阵数据的处理,矩阵的计算,以及基本的统计功能,转置,可逆性等等,包括对复数的处理,均在matrix对象中. class numpy.matr ...
- 【348】通过 Numpy 创建各式各样的矩阵
参考:NumPy之array-一个程序媛的自我修养-51CTO博客 参考:numpy中数组和矩阵的区别 - jiangsujiangjiang的博客 - CSDN博客 一.使用系统方法 二.用指定的数 ...
- numpy中生成随机矩阵并打印出矩阵的shape
from numpy import * c=zeros((4,5)) print c.shape print numpy.random.random((2,3))
- numpy模块之创建矩阵、矩阵运算
本文参考给妹子讲python https://zhuanlan.zhihu.com/p/34673397 NumPy是Numerical Python的简写,是高性能科学计算和数据分析的基础包,他是 ...
- 科学计算库Numpy——数组生成
等差数组 使用np.arange()或np.linspace()生成元素是等差数列的数组. 以10为底的数组 使用np.logspace()生成元素是以10为底的数组. 数组扩展 使用np.meshg ...
- Numpy入门 - 生成数组
今天是Numpy入门系列教程第一讲,首先是安装Numpy: $ pip install numpy numpy是高性能科学计算和数据分析的基础包,本节主要介绍生成连续二维数组.随机二维数组和自定义二维 ...
随机推荐
- 【python】安装bencode
C:\Users\horn1\Desktop\python\35-pytorrent>pip install bencodeCollecting bencode Downloading http ...
- (纪录片)科学的故事:权力、证据与激情 The Story Of Science: Power, Proof And Passion
简介: 导演: 纳特·沙曼编剧: 纳特·沙曼主演: Michael J. Mosley类型: 纪录片官方网站: www.bbc.co.uk/programmes/b00s9mms制片国家/地区: 英国 ...
- C#.NET常见问题(FAQ)-如何使用2D绘图控件ZedGraph绘制坐标轴和坐标曲线
添加数据:示例添加了一条sin曲线和一条cos曲线,注意cos曲线比sin曲线点更密集(可以用这种方式控制点的采样疏密程度) 默认显示效果如下图所示,可以框选一个部分看放大效果 右击某个点可以 ...
- Android 之 assets目录和raw目录
Android 中存在assets目录和raw目录,它们既有相似之处又有所不同.一.共同点: 目录下的资源会被原封不动的拷贝到APK中,而不会像其它资源文件那样被编译成二进制的形式. 二.区别 1.最 ...
- Fibre Channel address weaknesses
http://searchitchannel.techtarget.com/feature/Fibre-Channel-address-weaknesses Figure 2.1 Five layer ...
- Win10下安装Ubuntu16.04虚拟机并搭建TensorFlow1.3环境
本文具体参考资料链接 1.VMware下载安装 百度输入VMware搜索,出现如下界面,点击下载: 此处安装步骤可以网上搜索,也可不用搜索,直接按照按照提示一步一步确认即可完成. 2.Ubuntu16 ...
- 在openerp撰写消息中增加图片
openerp的撰写消息中, 在文本输入框中, 具有设置文本字体,设置对齐方式 等多种功能, 就像像写这篇新浪blog一样, 可以输入富文本信息. 美中不足的是, 它不能插入图片. 我们如何才能让op ...
- Xamarin.Android之SQLite.NET ORM
一.前言 通过<Xamarin.Android之SQLiteOpenHelper>和<Xamarin.Android之ContentProvider>的学习,我们已经掌握了如何 ...
- python之docstrinigs
# -*- coding: cp936 -*- #python 27 #xiaodeng #docstrinigs #文档字符串惯例 ''' 1.多行字符串 2.首行以大写字母开始,以句号结束 3.第 ...
- python之模块datetime 常见操作
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块datetime #http://blog.sina.com.cn/s/blog_6c37 ...