如何在NumPy数组顶部添加额外的1

时间:2019-01-31 14:50:30

标签: python-3.x numpy

一个数组的形式为:

a[[12,31,5], [5,32,1]]

我希望添加一行1,使其变为:

a[[1,1,1], [12,31,5], [5,32,1]]

如何做到?

2 个答案:

答案 0 :(得分:0)

您需要的只是np.vstack

a= np.array([[12,31,5], [5,32,1]])
np.vstack([np.ones(a.shape[1]),a])

array([[ 1.,  1.,  1.],
       [12., 31.,  5.],
       [ 5., 32.,  1.]])

更多参与的是np.r_

np.r_[np.ones(a.shape[1]).reshape((1,-1)),a]
array([[ 1.,  1.,  1.],
       [12., 31.,  5.],
       [ 5., 32.,  1.]])

答案 1 :(得分:0)

您可以按以下方式使用函数numpy.concatenate()numpy.vstack()

import numpy as np

a = np.array([[12,31,5], [5,32,1]])
b = np.ones((1,a.shape[1]))

# option 1 : with np.concatenate()
a_1 = np.concatenate((b,a),axis=0) # axis = 0 for rows
# option 2 : alternatively with np.vstack()
a_2 = np.vstack((b,a))