数组的分隔
- numpy.split 函数沿特定的轴将数组分割为子数组,格式如下:
-
numpy.split(ary, indices_or_sections, axis)
ary:被分割的数组
indices_or_sections:如果是一个整数,就用该数平均切分,如果是一个数组,为沿轴切分的位置。axis:沿着哪个维度进行切向,默认为 0,横向切分。为 1 时,纵向切分。 - 代码
1 #导入numpy模块 2 import numpy as np 3 #创建一维的数组 4 a = np.arange(1,13) 5 #调用split函数进行分隔 6 print('传递整数,平均分隔') 7 r = np.split(a,4,axis=0) 8 print(r) 9 10 print('传递数组,按位置分隔') 11 r = np.split(a,[4,6]) 12 print(r) 13 14 #二维数组进行分隔 15 a = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]) 16 print(a) 17 print('axis=0 垂直方向 平均分隔') 18 r,w = np.split(a,2,axis=0) 19 print(r) 20 print(w) 21 print('axis=0 垂直方向 按位置分隔') 22 g,k,l = np.split(a,[2,3],axis=0) 23 print(g) 24 print(k) 25 print(l)
1 传递整数,平均分隔 2 [array([1, 2, 3]), array([4, 5, 6]), array([7, 8, 9]), array([10, 11, 12])] 3 传递数组,按位置分隔 4 [array([1, 2, 3, 4]), array([5, 6]), array([ 7, 8, 9, 10, 11, 12])] 5 [[ 1 2 3 4] 6 [ 5 6 7 8] 7 [ 9 10 11 12] 8 [13 14 15 16]] 9 axis=0 垂直方向 平均分隔 10 [[1 2 3 4] 11 [5 6 7 8]] 12 [[ 9 10 11 12] 13 [13 14 15 16]] 14 axis=0 垂直方向 按位置分隔 15 [[1 2 3 4] 16 [5 6 7 8]] 17 [[ 9 10 11 12]] 18 [[13 14 15 16]]
正是江南好风景