数组的分隔

  • 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]]

猜你喜欢

转载自www.cnblogs.com/monsterhy123/p/12623581.html
今日推荐