【问题标题】:duplicating last column of 3d numpy array复制 3d numpy 数组的最后一列
【发布时间】:2021-09-24 18:05:18
【问题描述】:

我有以下 numpy 3d 数组,我需要在其中复制最后一列

array([[[ 7, 5, 93],
        [19, 4, 69],
        [62, 2, 52]],

       [[ 6, 1, 65],
        [41, 9, 94],
        [39, 4, 49]]])

想要的输出是:

array([[[ 7, 5, 93, 93],
        [19, 4, 69, 69],
        [62, 2, 52, 52]],

       [[ 6, 1, 65, 65],
        [41, 9, 94, 94],
        [39, 4, 49, 49]]])

有没有聪明的方法呢?

【问题讨论】:

    标签: python arrays numpy multidimensional-array


    【解决方案1】:

    为此目的有一个内置的 numpy 函数:

    np.insert(x,-1,x[...,-1],-1)
    

    输出:

    array([[[ 7,  5, 93, 93],
            [19,  4, 69, 69],
            [62,  2, 52, 52]],
    
           [[ 6,  1, 65, 65],
            [41,  9, 94, 94],
            [39,  4, 49, 49]]])
    

    【讨论】:

      【解决方案2】:

      您可以按如下方式沿最后一个轴连接-

      numpy.concatenate([a, numpy.expand_dims(a[:, :, -1], axis=2)], axis=2)

      【讨论】:

        猜你喜欢
        • 2018-07-26
        • 1970-01-01
        • 2019-04-15
        • 2016-04-07
        • 1970-01-01
        • 2018-11-25
        • 1970-01-01
        • 2011-05-19
        • 2021-03-19
        相关资源
        最近更新 更多