给numpy.array增加维度的超简单方法


Posted in Python onJune 02, 2021

输入:

import numpy as np 
a = np.array([1, 2, 3])
print(a)

输出结果:

array([1, 2, 3])

输入:

print(a[None])

输出结果:

array([[1, 2, 3]])

输入:

print(a[:,None])

输出结果:

array([[1],               
       [2],               
       [3]])     

numpy数组的维度增减方法

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

1.增加numpy array的维度

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

numpy提供了expand_dims()函数来为数组增加维度:

import numpy as np
a = 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)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python简单实现基数排序算法
May 16 Python
使用Python的Django框架结合jQuery实现AJAX购物车页面
Apr 11 Python
python线程池(threadpool)模块使用笔记详解
Nov 17 Python
windows环境下tensorflow安装过程详解
Mar 30 Python
对python:print打印时加u的含义详解
Dec 15 Python
对python指数、幂数拟合curve_fit详解
Dec 29 Python
Python设计模式之备忘录模式原理与用法详解
Jan 15 Python
Python实现的在特定目录下导入模块功能分析
Feb 11 Python
python使用yield压平嵌套字典的超简单方法
Nov 02 Python
python几种常用功能实现代码实例
Dec 25 Python
Python内存映射文件读写方式
Apr 24 Python
彻底解决Python包下载慢问题
Nov 15 Python
pytorch model.cuda()花费时间很长的解决
如何理解及使用Python闭包
python pygame入门教程
python plt.plot bar 如何设置绘图尺寸大小
python用tkinter开发的扫雷游戏
Pytorch GPU内存占用很高,但是利用率很低如何解决
Python爬取英雄联盟MSI直播间弹幕并生成词云图
You might like
第五章 php数组操作
2011/12/30 PHP
PHP中对缓冲区的控制实现代码
2013/09/29 PHP
PHP贪婪算法解决0-1背包问题实例分析
2015/03/23 PHP
PHP处理会话函数大总结
2015/08/05 PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
2017/01/11 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
2017/11/28 PHP
PHP html_entity_decode()函数讲解
2019/02/25 PHP
php字符串截取函数mb_substr用法实例分析
2019/06/25 PHP
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
2007/04/12 Javascript
js中将URL中的参数提取出来作为对象的实现代码
2011/08/16 Javascript
jquery 跳到顶部和底部动画2句代码简单实现
2013/07/18 Javascript
javascript删除数组元素并且数组长度减小的简单实例
2014/02/14 Javascript
基于jQuery实现最基本的淡入淡出效果实例
2015/02/02 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
2016/11/10 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
2017/12/25 Javascript
Vue数字输入框组件的使用方法
2019/10/19 Javascript
python获取图片颜色信息的方法
2015/03/18 Python
详解Django通用视图中的函数包装
2015/07/21 Python
利用Python-iGraph如何绘制贴吧/微博的好友关系图详解
2017/11/02 Python
python列表使用实现名字管理系统
2019/01/30 Python
python中metaclass原理与用法详解
2019/06/25 Python
使用Python的datetime库处理时间(RPA流程)
2019/11/24 Python
tensorflow 实现自定义梯度反向传播代码
2020/02/10 Python
python3.7添加dlib模块的方法
2020/07/01 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
Django修改app名称和数据表迁移方案实现
2020/09/17 Python
python3 kubernetes api的使用示例
2021/01/12 Python
使用HTML5 Geolocation实现一个距离追踪器
2018/04/09 HTML / CSS
GEOX鞋美国官方网站:意大利会呼吸的鞋
2017/07/12 全球购物
日本最大的旅游网站:Rakuten Travel(乐天旅游)
2018/08/02 全球购物
室内拓展活动方案
2014/02/13 职场文书
说谎欺骗人检讨书300字
2014/11/18 职场文书
放假通知范文
2015/04/14 职场文书
小学作文之描写天气
2019/08/15 职场文书
如何在Python中妥善使用进度条详解
2022/04/05 Python
css如何把元素固定在容器底部的四种方式
2022/06/16 HTML / CSS