numpy.hsplit#

numpy.hsplit(ary,indices_or_sections)[source]#

Split an array into multiple sub-arrays horizontally (column-wise).

Please refer to thesplit documentation.hsplit is equivalenttosplit withaxis=1, the array is always split along the secondaxis except for 1-D arrays, where it is split ataxis=0.

See also

split

Split an array into multiple sub-arrays of equal size.

Examples

>>>importnumpyasnp>>>x=np.arange(16.0).reshape(4,4)>>>xarray([[ 0.,   1.,   2.,   3.],       [ 4.,   5.,   6.,   7.],       [ 8.,   9.,  10.,  11.],       [12.,  13.,  14.,  15.]])>>>np.hsplit(x,2)[array([[  0.,   1.],       [  4.,   5.],       [  8.,   9.],       [12.,  13.]]), array([[  2.,   3.],       [  6.,   7.],       [10.,  11.],       [14.,  15.]])]>>>np.hsplit(x,np.array([3,6]))[array([[ 0.,   1.,   2.],       [ 4.,   5.,   6.],       [ 8.,   9.,  10.],       [12.,  13.,  14.]]), array([[ 3.],       [ 7.],       [11.],       [15.]]), array([], shape=(4, 0), dtype=float64)]

With a higher dimensional array the split is still along the second axis.

>>>x=np.arange(8.0).reshape(2,2,2)>>>xarray([[[0.,  1.],        [2.,  3.]],       [[4.,  5.],        [6.,  7.]]])>>>np.hsplit(x,2)[array([[[0.,  1.]],       [[4.,  5.]]]), array([[[2.,  3.]],       [[6.,  7.]]])]

With a 1-D array, the split is along axis 0.

>>>x=np.array([0,1,2,3,4,5])>>>np.hsplit(x,2)[array([0, 1, 2]), array([3, 4, 5])]
On this page