Python 是否有一种方法可以将多个元素同时插入到数据阵列中的不同位置?

Python 是否有一种方法可以将多个元素同时插入到数据阵列中的不同位置?,python,numpy,Python,Numpy,我正在使用numpy的ndarray,我想知道有没有一种方法可以让我同时将多个元素插入到不同的位置 例如,我有一个图像,我想用0填充该图像。这就是我目前拥有的: def zero_padding(self): padded = self.copy() padded.img = np.insert(self.img, 0, 0, axis = 0) padded.img = np.insert(padded.img, padded.img.shape

我正在使用numpy的ndarray,我想知道有没有一种方法可以让我同时将多个元素插入到不同的位置

例如,我有一个图像,我想用0填充该图像。这就是我目前拥有的:

def zero_padding(self):
        padded = self.copy()
        padded.img = np.insert(self.img, 0, 0, axis = 0)
        padded.img = np.insert(padded.img, padded.img.shape[0], 0, axis = 0)
        padded.img = np.insert(padded.img, 0, 0, axis = 1)
        padded.img = np.insert(padded.img, padded.img.shape[1], 0, axis = 1)
        return padded

其中,
padded
是图像的一个实例。

当然,您可以使用
NumPy
奇特索引技术,如下所示:

import numpy as np


if __name__=='__main__':
    A = np.zeros((5, 5))
    A[[1, 2], [0, 3]] = 1
    print(A)
输出:

[[0. 0. 0. 0. 0.]
 [1. 0. 0. 0. 0.]
 [0. 0. 0. 1. 0.]
 [0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0.]]

Cheers

np.插入是最通用的工具。但它是python,因此可以阅读它,并获得专门适用于您的案例的想法。基本上,它创建了一个大小合适的
zeros
数组,并将值复制到其中。非常感谢!不客气