首先看ravel()

from numpy import *
a = b.arange(12).reshape(3, 4)
print(a)
b = a.ravel()
print(b)
b[1] = 9
print(b)

[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[ 0 1 2 3 4 5 6 7 8 9 10 11]
[ 0 9 2 3 4 5 6 7 8 9 10 11]
[[ 0 9 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]

flatten

from numpy import *
a = b.arange(12).reshape(3, 4)
print(a)
b = a.flatten()
print(b)
b[1] = 9
print(b)

[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[ 0 1 2 3 4 5 6 7 8 9 10 11]
[ 0 9 2 3 4 5 6 7 8 9 10 11]
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
flatten产生一个副本,ravel不产生,ravel会对原始数据产生影响,flatten()不会

import numpy as np
x1, x2 = np.mgrid[1:4:3j, 1:6:3j]
b = np.mgrid[1:4:3j, 1:6:3j]
print(x1)
'''
[[1.  1.  1. ][2.5 2.5 2.5][4.  4.  4. ]]
'''
print(x2)
'''
[[1.  3.5 6. ][1.  3.5 6. ][1.  3.5 6. ]]
'''
print(b.flat)#返回和flatten效果相同的迭代器
'''
<numpy.flatiter object at 0x0000020F5A7E8260>
'''
print(b.flatten())
'''
[1.  1.  1.  2.5 2.5 2.5 4.  4.  4.  1.  3.5 6.  1.  3.5 6.  1.  3.5 6. ]
'''
a1 = np.stack((x1.flat, x2.flat), axis=1)
print(a1)
'''
[[1.  1. ][1.  3.5][1.  6. ][2.5 1. ][2.5 3.5][2.5 6. ][4.  1. ][4.  3.5][4.  6. ]]
'''

ravel()和flatten()以及flat的区别相关推荐

  1. python学习笔记之-展平函数ravel和flatten及两者的区别

    ravel()和flatten()是将多维数据展平为一维数据,功能相同,区别在于一个是引用操作,一个是复制操作.ravel()展平数据后,修改后面的数据会影响前面的数据,而flatten()展平数据后 ...

  2. numpy中ravel()与flatten()的区别

    我在练习机器学习中梯度下降的编程学习中,需要扁平化一个array,我脑子中就出现了ravel()与flatten(),两个扁平化的函数,他们俩的共功能相同,可是到底有什么区别呢. 先看看两个函数的使用 ...

  3. Python/numpy之ravel() 与flatten()

    Python/numpy之ravel() 与flatten() ravel() ,flatten()功能相同,都是将数据从多维变为一维,区别在于一个是复制操作,一个是引用操作,类似于= ,copy() ...

  4. numpy ravel、flatten、squeeze、reshape

    numpy:手册 一.ravel.flatten.squeeze.reshape ravel(): 不会产生原来数据的副本 flatten():返回源数据副本 squeeze():只能对维度为1的维度 ...

  5. numpy 中ravel()和flatten()区别

    将多维数组降位一维),两者的区别在于返回拷贝(copy)还是返回视图(view),numpy.flatten()返回一份拷贝,对拷贝所做的修改不会影响(reflects)原始矩阵,而numpy.rav ...

  6. Numpy ravel和flatten区别

    作用相同:将多维数组变成一维 区别:比如有a.b数组 其中 b=a.copy()        a.b两个数组数据完全一样 对a使用ravel 得到c      c=a.ravel() 对b使用fla ...

  7. matlab flatten,Numpy中扁平化函数ravel()和flatten()的区别

    在Numpy中经常使用到的操作由扁平化操作,Numpy提供了两个函数进行此操作,他们的功能相同,但在内存上有很大的不同. 先来看这两个函数的使用: from numpy import * a = ar ...

  8. 学习笔记27—python中numpy.ravel() 和 flatten()函数

    简介 首先声明两者所要实现的功能是一致的(将多维数组降位一维).这点从两个单词的意也可以看出来,ravel(散开,解开),flatten(变平).两者的区别在于返回拷贝(copy)还是返回视图(vie ...

  9. numpy——ravel()和flatten()

    目录 功能 用法 区别 flatten() ravel() 功能 这两个函数的功能都是将多维数组转换成一维 用法 import numpy as np arr = np.array([[1, 2],[ ...

最新文章

  1. 初学Java——选择
  2. java kafka api_kafka java API的使用
  3. ython二十五: 解压序列
  4. 用java读取properties文件--转
  5. 最大正数pascal程序
  6. 文献学习(part14)--Structural Deep Network Embedding
  7. 查询同一表内多字段同时重复记录的SQL语句
  8. Android游戏开发基础part3--Paint 画笔
  9. 浅谈Java中类加载机制
  10. 天下为公:TCP堵塞控制
  11. SpringMvc接口中转设计(策略+模板方法)
  12. Insert插入不同的列数量,统计信息对比
  13. 框架设计之菜鸟漫漫江湖路系列 开篇
  14. 脚本命令配置mysql_MySQL常用的配置、脚本和命令
  15. xdebug断点调试原理
  16. idea中java文件红色处理
  17. CodeSmith 创建Ado.Net自定义模版(一)
  18. android依赖alert样式,Android - AlertDialog样式
  19. 【转】oracle order by 处理NULL 值
  20. MySQL完全卸载教程

热门文章

  1. 单电源运放滤波器设计
  2. layui + layer弹出层增删改的操作
  3. python做面板回归_Python中的Panel回归
  4. vanish高速反向代理服务器配置
  5. IO系列(一):IO
  6. 软件工程(2018)第一次作业
  7. 应用于语义分割问题的深度学习技术综述
  8. 上海滩上,共创行业新价值的大时代要来了
  9. 5.execve()到底干了啥?
  10. 打码进行中-JavaScript高级程序设计-第1章-什么是javaScript