拼接NumPy数组

时间:2010-07-21 18:20:31

标签: python numpy

我遇到了将两个数组拼接在一起的问题。我们假设我有两个数组:

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循环的情况下完成此操作(需要快速)?

6 个答案:

答案 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”。