当前位置:首页 >> 脚本专栏

Python numpy实现数组合并实例(vstack,hstack)

若干个数组可以沿不同的轴合合并到一起,vstack,hstack的简单用法,

> 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数组垂直排列。

> from numpy import newaxis
> 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实现数组合并实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!