reshape:更改数组的形状
ravel:返回一个展平的数组。
flatten:返回一个展平的数组。

#将矩阵降至一维示例
import numpy as np
x = np.array([[1, 2, 3], [4, 5, 6]])
np.ravel(x)  #array([1, 2, 3, 4, 5, 6])
x.flatten() #array([1, 2, 3, 4, 5, 6])
x.reshape(-1) #array([1, 2, 3, 4, 5, 6])

三者的区别在于
1、reshape函数有更广的适用性,降维只是他其中的应用之一,而其他两者都只能降至一维。

2、ravel和flatten在功能上相同,他们两者的差别在内存上。在使用过程中flatten()分配了新的内存,创建了一个副本,而ravel()创建的对象还具有和原来一样的内存地址。
简单来说,就是如果数组X用ravel创建了一个对象A,当对A进行操作时,原数组X也会受到影响而改变;相对应的如果用flatten返回一个对象B,对该新对象进行修改不会影响到原数组X。所以在实际应用中应尽量使用flatten()函数

ravel和flatten都有的可选参数order={‘C’, ‘F’, ‘A’, ‘K’}

  • C:按行优先展开
  • F:按列优先展开
  • A:表示如果a在内存中是 Fortran连续的,则以列优先顺序展平,否则以行优先顺序展平。
  • K:表示按照元素在内存中出现的顺序将a展平。
  • 默认值为“C”。

参考链接
https://www.cnblogs.com/mzct123/p/8659193.html
https://numpy.org/devdocs/reference/generated/numpy.ndarray.flatten.html#numpy.ndarray.flatten

python几种矩阵重组降维方式对比相关推荐

  1. mui几种页面跳转方式对比

    mui几种页面跳转方式对比 http://blog.csdn.net/uikoo9/article/details/44676963 [几种打开页面的方式] 1.初始化时创建子页面 2.直接打开新页面 ...

  2. python 几种android截屏方式的学习与使用

    python 几种android截屏方式的学习与使用 screencap screencap是Android的截屏工具.通过调用访问SurfaceFlinger服务或读取 /dev/graphics/ ...

  3. python multi不断乘_芝麻IP:Python几种矩阵乘法np.dot, np.multiply……

    1.同线性代数中矩阵乘法的定义: np.dot() np.dot(A, B):针对二维矩阵,计算真正意义上的矩阵乘积,同线性代数中矩阵乘法的定义.对于一维矩阵,计算两者的内积. Python代码如下: ...

  4. python 几种点积运算方式效率分析

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/51793984 本文列举出几种pytho ...

  5. python 三种下载图片的方式

    python爬虫获取网页信息,除了文本信息,最常见的内容就是照片了,获取照片的方式有多种,这里把自己常用的三种模式分享一下. 举例子说明吧.如下图,现在要爬取链家网上各个在售房屋的户型图,首先先找出户 ...

  6. 亚马逊服务器上传文件是什么类型,新手必看!亚马逊的三种产品上传方式对比...

    作为亚马逊卖家,如何快速.详尽并准确地上传产品是产品畅销与否的第一步,本篇文章为卖家介绍并对比亚马逊站内上传产品的三种方法. 一. 后台手动创建新商品 1.进入亚马逊卖家后台,如下图所示点击" ...

  7. 两种编写代码风格方式对比

    一.简洁版本,便于阅读,不方便移植 //led.h #define LED1 PBout(0) #define LED2 PBout(1) #define LED3 PBout(5) void LED ...

  8. python stdout_python--几种标准输出(stdout)重定向方式

    系统:windows为主 python 版本:2.7 1. 背景 在Python中,文件对象sys.stdin.sys.stdout和sys.stderr分别对应解释器的标准输入.标准输出和标准出错流 ...

  9. Python 两种POST请求的方式

    0X00 urllib #方式1: urllib2 urllib 以表单的形式提交POST数据 #Exp: username=zcs&password=123import urllib2 im ...

最新文章

  1. python创建列向量_关于Numpy中的行向量和列向量详解
  2. 循环for语句 if语句
  3. 讨论:有多少项目是因为程序的原因而失败的
  4. 07丨行锁功过:怎么减少行锁对性能的影响
  5. 高清 网络摄像机 华为海思3510芯片
  6. 企业c语言的编程风格,c语言优秀编程风格.docx
  7. java 添加图片背景_java添加背景图片
  8. 外链图片也有风险吗?
  9. 外模告急时薪翻倍?中国AI虚拟模特取代高价外模,效果逼真与真人无异。
  10. fastjson 版本_以快标榜的fastjson,快没快多少,倒是漏洞一大堆
  11. PAT乙级 1033 旧键盘打字 (20 分)
  12. hdu 1361 Parencodings 简单模拟
  13. Win10系统如何解除U盘写保护模式
  14. MAPZONE GIS SDK接入Openlayers3之二——空间参考扩展
  15. 英文投稿的一点经验【转载】
  16. Elasticsearch - 短语匹配(match_phrase)以及slop参数
  17. python 计算物理_计算物理期末报告
  18. OpenCV最小二乘法圆拟合
  19. Windows 修改键盘映射(附带Linux下Ubuntu的修改方法)
  20. python第8周(python学习题集)

热门文章

  1. 查找中位数(分治策略)
  2. 唐山校友会会长苏伟与徐飞校长的一次短信交流
  3. Python-----函数详解(上篇)(附小项目实战)
  4. WRF输入数据fnl批量下载
  5. xbox手柄适配器驱动_XBox无线适配器MN-740更新
  6. python 手写字符识别
  7. Html怎么判断ie5,css怎样判断IE浏览器?
  8. 关于springboot 的默认数据源
  9. java手机号中间4位使用*替换
  10. 计算机各配置性能如何区分,怎么测试电脑性能?判断电脑性能主要看什么?