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

 更新时间:2021年06月01日 14:44:42   作者:whyume  
这篇文章主要介绍了给numpy.array增加维度的超简单方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

输入:

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)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python3读取文件的操作详解

    Python3读取文件的操作详解

    说到fileinput,可能90%的码农表示没用过,甚至没有听说过。但是,今天小编还是要介绍fileinput这个方法,因为太奈斯了,快跟随小编一起学习学习吧
    2022-07-07
  • Python中的Request请求重试机制

    Python中的Request请求重试机制

    这篇文章主要介绍了Python中的Request请求重试机制,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Python中threading库实现线程锁与释放锁

    Python中threading库实现线程锁与释放锁

    threading用于提供线程相关的操作,为了保证安全的访问一个资源对象,我们需要创建锁。那么Python线程锁与释放锁如何实现,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • Matplotlib animation模块实现动态图

    Matplotlib animation模块实现动态图

    这篇文章主要介绍了Matplotlib animation模块实现动态图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • 使用Python对MySQL数据操作

    使用Python对MySQL数据操作

    本文介绍Python3使用PyMySQL连接数据库,并实现简单的增删改查。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • 使用Python通过简单操作设置PDF文档属性

    使用Python通过简单操作设置PDF文档属性

    PDF文档属性是嵌入在PDF文档中的一些与文档有关的信息,这篇文章主要为大家介绍了如何使用Python通过简单的操作设置PDF文档属性,需要的可以参考下
    2023-11-11
  • Python发送手机动态验证码代码实例

    Python发送手机动态验证码代码实例

    这篇文章主要介绍了Python发送手机动态验证码代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Python中比较大小的几种方法实例总结

    Python中比较大小的几种方法实例总结

    在Python编程中经常需要比较两个数的值,并根据大小关系进行赋值操作,下面这篇文章主要给大家介绍了关于Python中比较大小的几种方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • Qt5 实现主窗口状态栏显示时间

    Qt5 实现主窗口状态栏显示时间

    这篇文章主要介绍了Qt5 实现主窗口状态栏显示时间,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • PyCharm 2020.2下配置Anaconda环境的方法步骤

    PyCharm 2020.2下配置Anaconda环境的方法步骤

    这篇文章主要介绍了PyCharm 2020.2下配置Anaconda环境的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09

最新评论