NumPy分割数组函数(3个)
在 NumPy 中,分割数组的操作可以通过多种函数来实现,以下是一些常用的数组分割函数:
1) split() 函数用于沿指定轴将数组对象分割为子数组对象,其语法格式如下:
2) hsplit() 函数用于沿 1 轴将数组对象分割为子数组对象,其语法格式如下:
3) vsplit() 函数用于沿 0 轴将数组对象分割为子数组对象,需要注意的是,该函数不可用于一维数组对象,其语法格式如下:
示例代码如下:
1) split() 函数用于沿指定轴将数组对象分割为子数组对象,其语法格式如下:
split(ary,indices_or_sections,axis)
- 参数 ary 表示待分割的数组对象;
- 参数 indices_or_sections 表示整数或列表,如果为整数,则为平均分割后得到数组对象的数量,如果为列表,则进行切片索引访问;
- 参数 axis 表示数组对象的轴索引,该参数为可选参数,其默认值为 0。
2) hsplit() 函数用于沿 1 轴将数组对象分割为子数组对象,其语法格式如下:
hsplit(ary,indices_or_sections)
- 参数 ary 表示待分割的数组对象;
- 参数 indices_or_sections 表示整数或列表,如果为整数,则为平均分割后得到数组对象的数量,如果为列表,则进行切片索引访问。
3) vsplit() 函数用于沿 0 轴将数组对象分割为子数组对象,需要注意的是,该函数不可用于一维数组对象,其语法格式如下:
vsplit(ary,indices_or_sections)
- 参数 ary 表示待分割的数组对象;
- 参数 indices_or_sections 表示整数或列表,如果为整数,则为平均分割后得到数组对象的数量,如果为列表,则进行切片索引访问。
示例代码如下:
import numpy as np # 一维数组对象 a = np.array([1, 2, 3, 4, 5, 6]) print(np.split(a, 3)) print('==========================') print(np.hsplit(a, [1, 4])) print('==========================') # 二维数组对象 b = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]) print(np.split(b, 2)) print('==========================') print(np.hsplit(b, [1, 3])) print('==========================') print(np.vsplit(b, 2)) print('==========================') # 三维数组对象 c = np.array([[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]], [[13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24]], [[25, 26, 27, 28], [29, 30, 31, 32], [33, 34, 35, 36]]]) print(np.split(c, 3)) print('==========================') print(np.hsplit(c, [1, 3])) print('==========================') print(np.vsplit(c, 3))运行结果为:
[array([1, 2, 3]), array([4, 5, 6])] ========================== [array([1, 2]), array([3, 4, 5, 6])] ========================== [array([[ 1, 2, 3, 4]), array([[ 5, 6, 7, 8])], array([[ 9, 10, 11, 12]), array([[13, 14, 15, 16])])] ========================== [array([[ 1, 2]), array([[ 5, 6, 7, 8])], array([[ 9, 10, 11, 12])], array([[13, 14, 15, 16])])] ========================== [array([[ 1, 2, 3, 4]), array([[ 5, 6, 7, 8])], array([[ 9, 10, 11, 12]])] ========================== [array([[[ 1, 2, 3, 4], [ 5, 6, 7, 8], [ 9, 10, 11, 12]]), array([[[13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24]]), array([[[25, 26, 27, 28], [29, 30, 31, 32], [33, 34, 35, 36]])])] ========================== [array([[[ 1, 2, 3, 4], [ 5, 6, 7, 8]], array([[ 9, 10, 11, 12], [13, 14, 15, 16]], array([[17, 18, 19, 20], [21, 22, 23, 24]]), array([[[25, 26, 27, 28], [29, 30, 31, 32], [33, 34, 35, 36]])))] ========================== [array([[[ 1, 2, 3, 4], [ 5, 6, 7, 8], [ 9, 10, 11, 12]]), array([[[13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24]])]