开发手册 欢迎您!
软件开发者资料库

Python numpy.hsplit函数方法的使用

NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。本文主要介绍一下NumPy中hsplit方法的使用。

numpy.hsplit

numpy.hsplit(ary, indices_or_sections)     [source]

水平(按列)将一个数组拆分为多个子数组。

请参考split文档。hsplit等同于axis = 1split,无论数组的维度如何,数组总是沿着第二个轴分割。

例子

>>> 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)]

对于高维数组,拆分仍沿第二轴。

>>> 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.]]])]