下面就是详细的 Python np.split 函数攻略。
函数介绍
函数定义:
numpy.split(ary, indices_or_sections, axis=0)
其中,参数含义为:
ary
:需要被分割的数组;indices_or_sections
:可以是整数,用于指定 LaPacker 分割数组的点,或者是 1-D 序列,用于指定划分点。如果是一个整数,N,那么数组将被划分为 N 等份(如果可行的话);如果是序列,则从这些值指定的点处分割数组;axis
:默认为 0。指定沿着哪个方向分割数组。
该函数返回分割后的子数组列表。
示例说明
下面就是两个例子来说明 np.split 函数的使用方法:
示例 1
在这个例子中,我们将一个数组沿着第二维划分为三个子数组:
import numpy as np
arr = np.arange(16).reshape((2, 8))
res = np.split(arr, 3, axis=1)
print("Original Array:")
print(arr)
print("Split Result:")
for subarr in res:
print(subarr)
输出结果为:
Original Array:
[[ 0 1 2 3 4 5 6 7]
[ 8 9 10 11 12 13 14 15]]
Split Result:
[[ 0 1]
[ 8 9]]
[[ 2 3]
[10 11]]
[[ 4 5]
[12 13]]
[[ 6 7]
[14 15]]
从结果中可以看到,我们将数组 arr
沿着第二维划分为了 3 个子数组,每个子数组都是 $2 \times 2$ 的矩阵。
示例 2
在这个例子中,我们将一个数组沿着第一个维度划分为两个子数组:
import numpy as np
arr = np.arange(9).reshape((3, 3))
res = np.split(arr, 2, axis=0)
print("Original Array:")
print(arr)
print("Split Result:")
for subarr in res:
print(subarr)
输出结果为:
Original Array:
[[0 1 2]
[3 4 5]
[6 7 8]]
Split Result:
[[0 1 2]
[3 4 5]]
[[6 7 8]]
从结果中可以看到,我们将数组 arr
沿着第一个维度划分为了 2 个子数组,每个子数组都是 $2 \times 3$ 的矩阵。
注意事项
- 分割时,数组的长度必须能够被均分;
- 分割时,指定的坐标必须在合适的范围内;
np.split()
函数默认情况下,最后一份长度不足时可以忽略,但也可以通过np.split(arr, [2, 4, 10], axis=1)
这样的用法来严格分割,忽略错误。
以上就是 np.split 函数的详细攻略了,希望能够帮助到你。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python np.split函数 - Python技术站