在2D数组的每一行的末尾附加一个列表

时间:2014-08-27 14:45:28

标签: arrays numpy append

我想在2d数组的每一行的末尾附加一个list / 1d数组(b)

输入:

a = np.array([[1, 1], [2, 2], [3, 3]])
b = np.array([4, 4])

期望:

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

我的代码:

temp = []
for i in range(len(a)):
   c = np.hstack((a[i], b))
   temp.append(c)
d = np.vstack(temp)

有没有更好更快的解决方案。

1 个答案:

答案 0 :(得分:3)

a = np.array([[1, 1], [2, 2], [3, 3]])
b = np.array([4, 4])

c = np.tile(b[np.newaxis,:], (a.shape[0],1))
d = np.concatenate((a,c), axis=1)