如何有效地插入n维数组的元素

时间:2017-12-12 03:38:20

标签: python arrays numpy insert concatenation

有一个简单的例子。

我有一个二维数组

a=np.arange(4).reshape(2,2)+1

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

我想在数组的开头和结尾插入0(或任何其他值),然后它变为

array([[ 0.,  0.,  0.,  0.],
       [ 0.,  1.,  2.,  0.],
       [ 0.,  3.,  4.,  0.],
       [ 0.,  0.,  0.,  0.]])

我正在尝试使用np.insert或np.concatenate,但是因为> 2维而失败了。处理这类问题的最快方法是什么?

1 个答案:

答案 0 :(得分:1)

使用numpy.pad

>>> np.pad(a, 1, 'constant')
array([[0, 0, 0, 0],
       [0, 1, 2, 0],
       [0, 3, 4, 0],
       [0, 0, 0, 0]])