NumPy 函数

NumPy vsplit() 函数将数组垂直(按行)拆分为多个子数组。

语法

numpy.vsplit(ary, indices_or_sections) 

参数

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

返回值

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

示例:

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

import numpy as np

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

#分割数组
Arr1 = np.vsplit(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, 20, 30]]), array([[30, 40, 60]]), array([[70, 80, 90]])] 

示例:indices_or_sections 作为一维数组

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

import numpy as np

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

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

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

上述代码的输出将是:

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

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