拼接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]]
我该如何在不使用循环的情况下实现这个目标(因为需要速度快)?
6 个回答
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]])
这要看你在寻找什么。
7
试试 column_stack()
吧?
http://docs.scipy.org/doc/numpy/reference/generated/numpy.column_stack.html
另外,
vstack((a,b)).T
4
column_stack
是一个函数,用来把多个数组(可以理解为一组数据)按列的方式组合在一起。想象一下,你有几列数据,比如身高、体重和年龄,使用这个函数就可以把这些数据整齐地放在一起,形成一个新的表格。这样做的好处是,方便你对这些数据进行进一步的分析和处理。