若干个数组可以沿不同的轴合合并到一起,vstack,hstack的简单用法,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
>>> a = np.floor( 10 * np.random.random(( 2 , 2 )))
>>> a
array([[ 8. , 8. ],
[ 0. , 0. ]])
>>> b = np.floor( 10 * np.random.random(( 2 , 2 )))
>>> b
array([[ 1. , 8. ],
[ 0. , 4. ]])
>>> np.vstack((a,b))
array([[ 8. , 8. ],
[ 0. , 0. ],
[ 1. , 8. ],
[ 0. , 4. ]])
>>> np.hstack((a,b))
array([[ 8. , 8. , 1. , 8. ],
[ 0. , 0. , 0. , 4. ]])
|
column_stack函数功能是将一个1D数组转化成一个2D数组,相当于将1D数组垂直排列。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
>>> np.column_stack((a,b)) # With 2D arrays
array([[ 8. , 8. , 1. , 8. ],
[ 0. , 0. , 0. , 4. ]])
>>> a = np.array([ 4. , 2. ])
>>> b = np.array([ 2. , 8. ])
>>> a[:,newaxis] # This allows to have a 2D columns vector
array([[ 4. ],
[ 2. ]])
>>> np.column_stack((a[:,newaxis],b[:,newaxis]))
array([[ 4. , 2. ],
[ 2. , 8. ]])
>>> np.vstack((a[:,newaxis],b[:,newaxis])) # The behavior of vstack is different
array([[ 4. ],
[ 2. ],
[ 2. ],
[ 8. ]])
|
对于多维数组,hstack沿第二轴,vstack沿第一条轴。
总结
以上就是本文关于Python numpy实现数组合并实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
原文链接:https://docs.scipy.org/doc/numpy-dev/user/quickstart.html#changing-the-shape-of-an-array