np.meshgrid()

7 篇文章 0 订阅
4 篇文章 0 订阅

np.meshgrid 从坐标向量返回坐标矩阵

例如:

import numpy as np
x = np.arange(-2, 2)
y = np.arange(0, 5)

m, n =np.meshgrid(x, y)

x返回结果:                                                        y返回结果:

array([-2, -1,  0,  1])                   array([0, 1, 2, 3, 4])

m返回结果:                                                     n返回结果:

array([[-2, -1,  0,  1],                   array([[0,  0,  0,  0],
       [-2, -1,  0,  1],                         [1,  1,  1,  1],
       [-2, -1,  0,  1],                         [2,  2,  2,  2],
       [-2, -1,  0,  1],                         [3,  3,  3,  3],
       [-2, -1,  0,  1]])                        [4,  4,  4,  4]])
m, n =np.meshgrid(y, x)

m返回结果:                                                     n返回结果:

array([[0,  1,  2,  3,  4],                   array([[-2, -2, -2, -2, -2],
       [0,  1,  2,  3,  4],                         [-1, -1, -1, -1, -1],
       [0,  1,  2,  3,  4],                         [0,  0,  0,  0,  0],
       [0,  1,  2,  3,  4],                         [1,  1,  1,  1,  1]])
       [0,  1,  2,  3,  4]])                        

由此可见, np.meshgrid函数将参数1当做第1个结果的每一行, 并且一共有参数2的长度个行。同时, 第2个结果的每一列为参数2的内容, 并且重复参数1的长度个列。(当然, meshgrid的参数并不受限, 甚至可以得到任意N维空间中的坐标矩阵)

 

np.r_是按列连接两个矩阵,就是把两矩阵上下相加,要求列数相等。

np.c_是按行连接两个矩阵,就是把两矩阵左右相加,要求行数相等。

ndarray.ravel()    ndarray.flatten()    都是将多维数组降为一维, 两者的区别在于ravel返回的是一个view, 而flatten返回的是一个copy 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值