若干个数组可以沿不同的轴合合并到一起,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