首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >numpy meshgrid和reval用法

numpy meshgrid和reval用法

原创
作者头像
泽霖
发布2023-11-26 15:05:09
发布2023-11-26 15:05:09
6890
举报
文章被收录于专栏:分享技术分享技术

numpy中有一些强大的函数可以很方便的实现日常的数值处理计算。在机器学习的特征处理中,meshgrid使用的很多,我之前对于meshgrid的用法一直是有点茫然记不住,后来看到一个stackoverflow的帖子恍然大悟,所以记录分享一下,

numpy.meshgrid()numpy.ravel() 是 NumPy 库中常用的函数,用于处理多维数组的操作。

numpy.meshgrid()

  • 函数签名:numpy.meshgrid(*xi, indexing='xy', sparse=False, copy=True)
  • numpy.meshgrid() 用于生成坐标矩阵或坐标网格,它接受一组一维数组作为输入,返回一个二维数组或多个二维数组,用于表示输入数组的所有可能的坐标对组合。
  • 参数:
代码语言:txt
复制
    -   `*xi`:一组一维数组,表示坐标轴的取值范围。
    -   `indexing`:可选参数,确定返回的坐标矩阵的索引顺序。默认值为 `'xy'`,表示以笛卡尔坐标顺序返回。
    -   `sparse`:可选参数,确定返回的坐标矩阵是否为稀疏矩阵。默认值为 `False`,返回密集矩阵。
    -   `copy`:可选参数,确定是否复制输入数组。默认值为 `True`,表示复制输入数组。
  • 返回值:
代码语言:txt
复制
    -   单个二维数组或多个二维数组,表示输入数组的所有可能的坐标对组合。

numpy.ravel()

  • 函数签名:numpy.ravel(a, order='C')
  • numpy.ravel() 用于将多维数组展平为一维数组。它接受一个多维数组作为输入,返回一个展平后的一维数组。
  • 参数:
代码语言:txt
复制
    -   `a`:多维数组。
    -   `order`:可选参数,确定展平数组的顺序。默认值为 `'C'`,表示按行展平(C 风格)。
  • 返回值:
代码语言:txt
复制
    -   一维数组,表示展平后的数组。

meshgrid主要是用来很方便的生成坐标对,坐标由给定的x, y两个数组来提供

将x和y分别在另一个数组的维度方向上进行扩展,然后就生成了坐标pair,返回的结果就是坐标的x集合和y集合。

代码语言:txt
复制
nx, ny = (3, 2)
>>> x = np.linspace(0, 1, nx) # x = array([0, 0.5, 1])
>>> y = np.linspace(0, 1, ny) # y = array([0, 1])
>>> xv, yv = np.meshgrid(x, y)
>>> xv
array([[ 0. ,  0.5,  1. ],
       [ 0. ,  0.5,  1. ]])
>>> yv
array([[ 0.,  0.,  0.],
       [ 1.,  1.,  1.]])

一个与meshgrid经常一起用的函数是reval,通常用于将meshgrid返回的的坐标集合矩阵拉伸,用于后续处理

代码语言:txt
复制
x = np.array([[1, 2, 3], [4, 5, 6]])
>>> print(np.ravel(x))
[1 2 3 4 5 6]

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • numpy.meshgrid():
  • numpy.ravel():
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档