• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    给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)
    

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

    您可能感兴趣的文章:
    • numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)
    • numpy给array增加维度np.newaxis的实例
    • Numpy 改变数组维度的几种方法小结
    • numpy添加新的维度:newaxis的方法
    上一篇:Python使用pydub模块转换音频格式以及对音频进行剪辑
    下一篇:Matlab如何实现矩阵复制扩充
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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