我遇到了将两个数组拼接在一起的问题。我们假设我有两个数组:
a = array([1,2,3])
b = array([4,5,6])
当我vstack((a,b))
时,我得到了
[[1,2,3],[4,5,6]]
如果我hstack((a,b))
我得到:
[1,2,3,4,5,6]
但我真正想要的是:
[[1,4],[2,5],[3,6]]
如何在不使用for循环的情况下完成此操作(需要快速)?
答案 0 :(得分:7)
试试column_stack()
?
http://docs.scipy.org/doc/numpy/reference/generated/numpy.column_stack.html
可替换地,
vstack((a,b)).T
答案 1 :(得分:4)
column_stack
。
答案 2 :(得分:0)
我忘记了如何转置NumPy数组,但你可以这样做:
at = transpose(a)
bt = transpose(b)
result = vstack((a,b))
答案 3 :(得分:0)
>>> c = [list(x) for x in zip(a,b)]
>>> c
[[1, 4], [2, 5], [3, 6]]
或
>>> c = np.array([list(x) for x in zip(a,b)])
>>> c
array([[1, 4],
[2, 5],
[3, 6]])
取决于您要找的内容。
答案 4 :(得分:0)
numpy.vstack((a, b)).T
答案 5 :(得分:-1)
您可能正在寻找阵列的形状操作。您可以查看“Tentative NumPy Tutorial, Array Creation”。