我有一个数组A:
array([[1, 2, 3],
[1, 1, 1],
[2, 2, 2]])
和一个数组B:
array([[1, 0],
[1, 0],
[0, 1]])
我想将数组B作为数组A的最后一列,所以我希望结果数组(让我们称之为C)如下所示:
array([[1, 2, 3, [1, 0]],
[1, 1, 1, [1, 0]],
[2, 2, 2, [0, 1]]])
我试过了np.insert(a,-1,b,axis=1)
,但这给了我一个错误:
ValueError: could not broadcast input array from shape (2,3) into shape (3,3)
答案 0 :(得分:1)
也许这就是你要找的东西:
import numpy as np
a = np.array([[1, 2, 3],
[1, 1, 1],
[2, 2, 2]])
b = np.array([[1, 0],
[1, 0],
[0, 1]])
np.hstack([a,b])
结果是:
array([[1, 2, 3, 1, 0],
[1, 1, 1, 1, 0],
[2, 2, 2, 0, 1]])
答案 1 :(得分:1)
print zip(*zip(*a)+[b.tolist(),])
虽然之后它不会是一个numpy阵列
>>> a
array([[1, 2, 3],
[1, 1, 1],
[2, 2, 2]])
>>> b
array([[1, 0],
[1, 0],
[0, 1]])
>>> zip(*zip(*a)+[b.tolist(),])
[(1, 2, 3, [1, 0]), (1, 1, 1, [1, 0]), (2, 2, 2, [0, 1])]