numpy.hsplit(ary, indices_or_sections)
Split an array into multiple sub-arrays horizontally (column-wise).
Please refer to the
documentation.
is equivalent to
with axis=1, the array is always split along the second axis except for 1-D arrays, where it is split at axis=0.
See also
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])]