NumPy 函数

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

语法

numpy.hsplit(ary, indices_or_sections) 

参数

ary必填。 指定要划分为子数组的数组(ndarray)。
indices_or_sections必需的。 将indices_or_sections 指定为int 或一维数组。
  • 如果indices_or_sections是整数N,则数组将被水平分成N个相等的数组。如果无法进行此类拆分,则会引发错误。
  • 如果indices_or_sections是已排序整数的一维数组,则条目指示数组的水平拆分位置。
  • 如果索引水平超出数组维度,则相应返回空子数组。

返回值

返回子数组列表作为ary的视图。

示例:

在示例中下面,hsplit()函数用于分割给定的数组。

import numpy as np

Arr = np.array([[10, 20, 30],
                 [30, 40, 60],
                 [70, 80, 90]])

#分割数组
Arr1 = np.hsplit(Arr, 3)

#显示结果
print("Arr is:")
print(Arr)
print("\nArr1 is:")
print(Arr1) 

上述代码的输出将是:

Arr is:
[[10 20 30]
 [30 40 60]
 [70 80 90]]

Arr1 is:
[array([[10],
       [30],
       [70]]), array([[20],
       [40],
       [80]]), array([[30],
       [60],
       [90]])] 

示例:indices_or_sections 作为一维数组

当indices_or_sections 作为已排序整数的一维数组传递时,条目指示数组的水平分割位置。考虑以下示例。

import numpy as np

Arr = np.array([[10, 20, 30, 40],
                 [50, 60, 70, 80],
                 [90, 100, 200, 300]])

#分割数组
Arr1 = np.hsplit(Arr, [2,3])

#显示结果
print("Arr is:")
print(Arr)
print("\nArr1 is:")
print(Arr1) 

上述代码的输出将是:

Arr is:
[[ 10  20  30  40]
 [ 50  60  70  80]
 [ 90 100 200 300]]

Arr1 is:
[array([[ 10,  20],
       [ 50,  60],
       [ 90, 100]]), array([[ 30],
       [ 70],
       [200]]), array([[ 40],
       [ 80],
       [300]])]