东方耀AI技术分享

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2408|回复: 0
打印 上一主题 下一主题

[课堂笔记] numpy中meshgrid和mgrid的区别和使用

[复制链接]

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14437
QQ
跳转到指定楼层
楼主
发表于 2019-12-16 09:13:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
numpy中meshgrid和mgrid的区别和使用


# meshgrid函数通常使用在数据的矢量化上。
# 它适用于生成网格型数据,可以接受两个一维数组生成两个二维矩阵,对应两个数组中所有的(x,y)对
# np.meshgrid只能处理2维


mgrid非函数


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


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


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




# 核心区别:meshgrid针对坐标 而mgrid针对矩阵维度


  1. # -*- coding: utf-8 -*-
  2. __author__ = u'东方耀 微信:dfy_88888'
  3. __date__ = '2019/12/16 9:09'
  4. __product__ = 'PyCharm'
  5. __filename__ = 'np.meshgrid与np.mgrid区别?'


  6. import numpy as np

  7. x = np.array([1, 2, 3])
  8. y = np.array([4, 5])
  9. # meshgrid函数通常使用在数据的矢量化上。
  10. # 它适用于生成网格型数据,可以接受两个一维数组生成两个二维矩阵,对应两个数组中所有的(x,y)对
  11. # np.meshgrid只能处理2维
  12. cx, cy = np.meshgrid(x, y)
  13. # cx是x向下扩展而来   cy是y向右扩展而来
  14. print(cx, cx.shape)
  15. print(cy, cy.shape)
  16. print('*'*20)
  17. cx, cy = np.meshgrid(x, y, sparse=True)
  18. print(cx, cx.shape)
  19. print(cy, cy.shape)

  20. pp=np.mgrid[-5:5:5j]
  21. # 中括号里面传第一维   5j表示5个点 等差数列
  22. print(pp)

  23. pp = np.mgrid[-1:1:2j,-2:2:3j]
  24. # 中括号里面传第一维 第二维
  25. print(pp.shape, pp)
  26. x, y = pp
  27. # 最大区别:meshgrid针对坐标 而mgrid针对矩阵维度
  28. print('*'*20)
  29. # x是第一维数据向右扩展
  30. print(x, x.shape)
  31. # y是第二维数据向下扩展
  32. print(y, y.shape)

  33. pp = np.mgrid[-1:1:2j,-2:2:3j,-3:3:5j]
  34. x, y, z = pp
  35. # 第一维 第二维 第三维
  36. # 第个维度数据在最终结构中的分布
  37. print(x, x.shape)
  38. print(y, y.shape)
  39. print(z, z.shape)
  40. print('*'*20)
  41. print(pp.shape, pp)


复制代码



01.jpg (57.62 KB, 下载次数: 157)

01.jpg

02.jpg (42.8 KB, 下载次数: 161)

02.jpg
让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|人工智能工程师的摇篮 ( 湘ICP备2020019608号-1 )

GMT+8, 2024-5-2 17:59 , Processed in 0.201219 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表