使用np.expand_dims()为数组增加指定的轴,np.squeeze()将数组中的轴进行压缩减小维度。

1.增加numpy array的维度

在操作数组情况下,需要按照某个轴将不同数组的维度对齐,这时候需要为数组添加维度(特别是将二维数组变成高维张量的情况下)。numpy提供了expand_dims()函数来为数组增加维度:

import numpy as npa = np.array([[1,2],[3,4]])
a.shape
print(a)
>>>
"""
(2L, 2L)
[[1 2][3 4]]
"""
# 如果需要在数组上增加维度,输入需要增添维度的轴即可,注意index从零还是
a_add_dimension = np.expand_dims(a,axis=0)
a_add_dimension.shape
>>> (1L, 2L, 2L)a_add_dimension2 = np.expand_dims(a,axis=-1)
a_add_dimension2.shape
>>> (2L, 2L, 1L)a_add_dimension3 = np.expand_dims(a,axis=1)
a_add_dimension3.shape
>>> (2L, 1L, 2L)

2.压缩维度移除轴

在数组中会存在很多轴只有1维的情况,可以使用squeeze函数来压缩冗余维度

b = np.array([[[[5],[6]],[[7],[8]]]])
b.shape
print(b)
>>>
"""
(1L, 2L, 2L, 1L)
array([[[[5],[6]],[[7],[8]]]])
"""b_squeeze = b.squeeze()
b_squeeze.shape
>>>(2L, 2L)   #默认压缩所有为1的维度b_squeeze0 = b.squeeze(axis=0)   #调用array实例的方法
b_squeeze0.shape
>>>(2L, 2L, 1L)b_squeeze3 = np.squeeze(b, axis=3)   #调用numpy的方法
b_squeeze3.shape
>>>(1L, 2L, 2L)

https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.squeeze.html
https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.expand_dims.html
https://blog.csdn.net/lihanlun/article/details/79891676



pic from pexels.com

【python】numpy数组的维度增减方法相关推荐

  1. python numpy数组转换成列表方法 object.tolist()函数

    a.tolist()Return the array as a (possibly nested) list. 将数组作为(可能是嵌套的)列表返回.Return a copy of the array ...

  2. 怎么把python结果全部显示-python 显示数组全部元素的方法

    怎么将python中的数组全部打印出来array 在python中打印array数组的方法如下: 最近小编总是在想,能陪自己到最后的,是什么样的人,昨晚玩手机到很晚,现在想突然想通了,让小编觉得,真正 ...

  3. python 初始化数组 numpy,Python Numpy 数组的初始化和基本操作

    Python 是一种高级的,动态的,多泛型的编程语言.Python代码很多时候看起来就像是伪代码一样,因此你可以使用很少的几行可读性很高的代码来实现一个非常强大的想法. 一.基础: Numpy的主要数 ...

  4. 【Python语言基础】——Python NumPy 数组索引

    Python语言基础--Python NumPy 数组形状 文章目录 Python语言基础--Python NumPy 数组形状 一.Python NumPy 数组形状 一.Python NumPy ...

  5. 【Python语言基础】——Python NumPy 数组搜索

    Python语言基础--Python NumPy 数组搜索 文章目录 Python语言基础--Python NumPy 数组搜索 一.Python NumPy 数组搜索 一.Python NumPy ...

  6. python numpy数组和one-hot编码相互转换

    a=[0,0,1,0,1,0,1]result=[] for i, x in enumerate(a):if x==1:result.append(i)print(result) python num ...

  7. python遍历数组的两种方法及将print的内容写入文件中

    python遍历数组的两种方法 第一种,最常用的,通过for in遍历数组 colours = ["red","green","blue"] ...

  8. 【Python语言基础】——Python NumPy 数组副本 vs 视图

    Python语言基础--Python NumPy 数组副本 vs 视图 文章目录 Python语言基础--Python NumPy 数组副本 vs 视图 一.Python NumPy 数组副本 vs ...

  9. python3(4)--- python遍历数组的两种方法

    python遍历数组的两种方法 第一种,最常用的,通过for in遍历数组.其实本质就是取出来的是这个数组或者列表中的元素,和角标无关. colours = ["red",&quo ...

最新文章

  1. 基于Java的RDMA高性能通信库(五):JXIO
  2. gitweb的安装(四)
  3. mysql压力测试工具Mysqlslap
  4. JDK14中的java tools简介
  5. SQL Server 数据库关键知识点详解(优秀经典)
  6. 开发安卓app游戏_电竞直播APP软件定制开发,游戏直播APP开发方案
  7. Pose Get的区别
  8. 可扩展的Web架构和分布式系统
  9. MyEclipse搭建SSH(Struts2+Spring2+Hibernate3)框架项目教程
  10. 2007年8月28日 月全食 照片
  11. PLSQL中的RECORD小例子
  12. python实用【大技巧】之Python手把手实现远程控制桌面
  13. 怎么把PDF拆分成单页?
  14. 中国数学界为之骄傲--庞加莱猜想的完美证明
  15. c语言句子首单词大写,C语言单词开头大写.docx
  16. 密码学的安全性浅析-3
  17. CSS峰会亮点直击,大咖共议产业上云的安全“最优解”
  18. C++刷题的一些小tips
  19. Android特效专辑(六)——仿QQ聊天撒花特效,无形装逼,最为致命
  20. Python(分治算法)问题 A: 找出伪币_给你一个装有n枚硬币的袋子。n枚硬币中有一个是伪造的,并且那个伪造的硬币比真的硬币要轻一些。你的任务是找出这枚伪造的硬币。

热门文章

  1. 立体视觉–stereo correspondence(双目立体匹配)
  2. python opencv 实现从一个文件夹中读取图片做切割处理后放入另一个文件夹
  3. einops.rearrange、repeat、reduce==>对维度进行操作
  4. c语言字母金字塔代码,打印字母金字塔,昨晚看到某个帖子的题目
  5. phpcms v9输出内容过滤html代码 - 代码篇
  6. oracle 日志 安全审计,等保测评2.0:Oracle安全审计(下)
  7. WP黑格导航主题BlackCan 焕然一新的UI设计
  8. 仿芒果TV微信小程序
  9. oracle增量备份0级,oracle_linux自动运行rman增量备份脚本,一、增量备份脚本0级备份脚本...
  10. 活动报名小程序源码/thinkphp后台管理报名小程序源码