numpy:手册

一、ravel、flatten、squeeze、reshape

  • ravel(): 不会产生原来数据的副本
  • flatten():返回源数据副本
  • squeeze():只能对维度为1的维度降维
  • reshape(-1):可以拉平多维数组

二、把多维的数组降为1维

import numpy as npdata = np.linspace(1,12,12).reshape(3,4)
print(data)
print('-'*20)
print(data.ravel())print('-'*20)
print(data.flatten())print('-'*20)
print(data.squeeze())[[ 1.  2.  3.  4.][ 5.  6.  7.  8.][ 9. 10. 11. 12.]]
--------------------
[ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12.]
--------------------
[ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12.]
--------------------
[[ 1.  2.  3.  4.][ 5.  6.  7.  8.][ 9. 10. 11. 12.]]

三、可以看到.ravel() .flatten()都将多维数组降至一维,而squeezeqz只能对shape值为1的维度降维,在这种情况下无法降维

import numpy as npdata = np.linspace(1,12,12).reshape(12,1)
print(data)
print('-'*20)
print(data.squeeze())
print('-'*20)
data = np.linspace(1,12,12).reshape(1,12)
print(data)
print('-'*20)
print(data.squeeze())[[ 1.][ 2.][ 3.][ 4.][ 5.][ 6.][ 7.][ 8.][ 9.][10.][11.][12.]]
--------------------
[ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12.]
--------------------
[[ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12.]]
--------------------
[ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12.]

三、产生源数据的副本对数据更改时会影响原来的数组

import numpy as npdata = np.linspace(1,12,12).reshape(3,4)
print(data)
print('-'*20)
data.ravel()[3]=100
print(data)
print()print('-'*20)
data = np.linspace(1,12,12).reshape(3,4)
print(data)
print('-'*20)
data.flatten()[3]=100
print(data)print()print('-'*20)
data = np.linspace(1,12,12).reshape(1,12)
print(data)[[ 1.  2.  3.  4.][ 5.  6.  7.  8.][ 9. 10. 11. 12.]]
--------------------
[[  1.   2.   3. 100.][  5.   6.   7.   8.][  9.  10.  11.  12.]]--------------------
[[ 1.  2.  3.  4.][ 5.  6.  7.  8.][ 9. 10. 11. 12.]]
--------------------
[[ 1.  2.  3.  4.][ 5.  6.  7.  8.][ 9. 10. 11. 12.]]--------------------
[[ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12.]]
--------------------
[[  1.   2.   3. 100.   5.   6.   7.   8.   9.  10.  11.  12.]]

numpy ravel、flatten、squeeze、reshape相关推荐

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

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

  2. 【增减维度】numpy和torch中的squeeze、unsqueeze理解

    文章目录 1 为何要增减维度 2 numpy中的squeeze 函数 3 torch中的squeeze 函数 4 torch中的unsqueeze 函数 1 为何要增减维度 神经网络conv2d的输入 ...

  3. Numpy ravel和flatten区别

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

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

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

  5. numpy中ravel函数、flatten函数的功能及差异

    numpy中ravel函数.flatten函数的功能及差异 >>> import numpy as np >>> a = np.arange(20).reshape ...

  6. numpy ravel、squeeze函数

    1.ravel函数 函数原型 numpy.ravel(a, order='C') 函数说明 ravel函数将多维数组变成一维数组. 函数使用 >>> a = np.reshape(n ...

  7. Numpy 生成 Bool型数组、一维转多维数组reshape、多维转一维数组、替换数组元素、提取数组元素、数组交集、差集、过滤数组元素、二维数组反转行、交换数组维度

    1. 创建一个 [3,5] 所有元素为 True 的数组 In [162]: b = np.ones((3,5), dtype=bool)In [163]: b Out[163]: array([[ ...

  8. 【ML】numpy ravel、c_、r_函数使用说明(结合实际案例)

    [ML]numpy ravel.c_.r_函数使用说明(结合实际案例) 基本使用 ravel()函数用法 c_函数用法 r_函数用法 实践 基本使用 ravel()函数用法 ravel函数将一个多维数 ...

  9. python使用numpy中的flatten函数将2D numpy数组拉平为1Dnumpy数组、使用np.linalg.matrix_rank函数计算2D numpy数组的秩(rank)

    python使用numpy中的flatten函数将2D numpy数组拉平为1Dnumpy数组.使用np.linalg.matrix_rank函数计算2D numpy数组的秩(rank) 目录

最新文章

  1. 计算机编程语言python-初学者最容易学的六种编程语言
  2. oracle define (hex 26),oracle 特殊字符轉義
  3. 将数字字符串格式化为指定长度
  4. 十进制转二进制、二进制转十进制
  5. 数据库事务转载基础二:oracle事务隔离级别
  6. 30/100. Queue Reconstruction by Height
  7. SAP Spartacus Breadcrumbs Component的显示问题讨论
  8. python控制浏览器导出数据_Django导出数据为Excel,调用浏览器下载
  9. hashmap remove 没释放内存_java从零开始手写 redis(13)HashMap 源码原理详解
  10. Redis服务器被劫持风波
  11. mockito简单教程
  12. LVGL学习 lv_label
  13. ffmpeg x264编码参数
  14. 软件众包外包平台汇总
  15. Freemyapps赚取积分终极图文教程
  16. brew 特别慢 解决方案
  17. Centos7__CA认证
  18. python 逐行调试工具_常用的 Python 调试工具,Python开发必读-乾颐堂
  19. 开发者除了技术硬实力之外,还有哪些不可或缺的软实力
  20. 学简单python好学吗_python好学吗

热门文章

  1. 呼叫显示服务器,排除CVP呼叫服务器问题故障
  2. 人工智能倒逼职教人才培养模式变革
  3. Orcale实训报告
  4. 深度评测:三款主流微博系统
  5. springboot写接口
  6. 关于局域网及广域网安全的解决办法
  7. 解扰matlab,数据序列的扰乱与解扰的MATLAB实现及性能分析—利用17级m序列
  8. Thingjs嵌入视频hls.js+m3u8格式
  9. 《Unity初试面试评级标准初稿》请拍砖。。。
  10. 基于matlab的噪声检测仿真