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


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

评论关闭