ravel()和flatten()以及flat的区别
首先看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的区别相关推荐
- python学习笔记之-展平函数ravel和flatten及两者的区别
ravel()和flatten()是将多维数据展平为一维数据,功能相同,区别在于一个是引用操作,一个是复制操作.ravel()展平数据后,修改后面的数据会影响前面的数据,而flatten()展平数据后 ...
- numpy中ravel()与flatten()的区别
我在练习机器学习中梯度下降的编程学习中,需要扁平化一个array,我脑子中就出现了ravel()与flatten(),两个扁平化的函数,他们俩的共功能相同,可是到底有什么区别呢. 先看看两个函数的使用 ...
- Python/numpy之ravel() 与flatten()
Python/numpy之ravel() 与flatten() ravel() ,flatten()功能相同,都是将数据从多维变为一维,区别在于一个是复制操作,一个是引用操作,类似于= ,copy() ...
- numpy ravel、flatten、squeeze、reshape
numpy:手册 一.ravel.flatten.squeeze.reshape ravel(): 不会产生原来数据的副本 flatten():返回源数据副本 squeeze():只能对维度为1的维度 ...
- numpy 中ravel()和flatten()区别
将多维数组降位一维),两者的区别在于返回拷贝(copy)还是返回视图(view),numpy.flatten()返回一份拷贝,对拷贝所做的修改不会影响(reflects)原始矩阵,而numpy.rav ...
- Numpy ravel和flatten区别
作用相同:将多维数组变成一维 区别:比如有a.b数组 其中 b=a.copy() a.b两个数组数据完全一样 对a使用ravel 得到c c=a.ravel() 对b使用fla ...
- matlab flatten,Numpy中扁平化函数ravel()和flatten()的区别
在Numpy中经常使用到的操作由扁平化操作,Numpy提供了两个函数进行此操作,他们的功能相同,但在内存上有很大的不同. 先来看这两个函数的使用: from numpy import * a = ar ...
- 学习笔记27—python中numpy.ravel() 和 flatten()函数
简介 首先声明两者所要实现的功能是一致的(将多维数组降位一维).这点从两个单词的意也可以看出来,ravel(散开,解开),flatten(变平).两者的区别在于返回拷贝(copy)还是返回视图(vie ...
- numpy——ravel()和flatten()
目录 功能 用法 区别 flatten() ravel() 功能 这两个函数的功能都是将多维数组转换成一维 用法 import numpy as np arr = np.array([[1, 2],[ ...
最新文章
- 初学Java——选择
- java kafka api_kafka java API的使用
- ython二十五: 解压序列
- 用java读取properties文件--转
- 最大正数pascal程序
- 文献学习(part14)--Structural Deep Network Embedding
- 查询同一表内多字段同时重复记录的SQL语句
- Android游戏开发基础part3--Paint 画笔
- 浅谈Java中类加载机制
- 天下为公:TCP堵塞控制
- SpringMvc接口中转设计(策略+模板方法)
- Insert插入不同的列数量,统计信息对比
- 框架设计之菜鸟漫漫江湖路系列 开篇
- 脚本命令配置mysql_MySQL常用的配置、脚本和命令
- xdebug断点调试原理
- idea中java文件红色处理
- CodeSmith 创建Ado.Net自定义模版(一)
- android依赖alert样式,Android - AlertDialog样式
- 【转】oracle order by 处理NULL 值
- MySQL完全卸载教程