zoukankan      html  css  js  c++  java
  • Python | numpy | np.split()与np.array_split()函数

    np.split() 均等分割,不均等会报错
    np.array_split() 不均等分割,不会报错

    split(ary, indices_or_sections, axis=0) :把一个数组从左到右按顺序切分 
    参数: 
    ary:要切分的数组 
    indices_or_sections:如果是一个整数,就用该数平均切分,如果是一个数组,为沿轴切分的位置(左开右闭) 
    axis:沿着哪个维度进行切向,默认为0,横向切分。为1时,纵向切分

    ### 关于np.split()函数
    x = np.arange(9) #9行1列的列向量
    print(x, np.shape(x))
    y = np.split(x, 3) # 平均分成三份,不能平均的话则会报错
    print(y)
    y = np.split(x, 3, axis=0) # 平均分成三份,不能平均的话则会报错,axis默认为0
    print(y)
    # 不均等分割 np.array_split()
    y = np.array_split(x, 4, axis=0) #第0项分割出来的元素最多,剩下的均等分
    print('不均等分割:',y)
    y = np.split(x, (3,)) # 在第3行之前进行切割,切割成2份
    print(y)
    y = np.split(x, [3, 5, 7, 8]) #都是开区间进行分割,在第3行,第5行···前进行切割
    print(y)
    k = np.arange(1, 3, 0.5).reshape(-1, 1)
    print(k)
    m = x + k
    print(m)
    m1 = np.split(m, 3, axis=1) # axis=0表示横着切,axis=1表示竖着切
    print(m1)
    m0 = np.split(m, 2, axis=0)
    print(m0)
    a, b = np.split(m, (4,), axis=1)
    print('a = ',a)
    print('b = ',b)
    # 结果:
    # [0 1 2 3 4 5 6 7 8] (9,)
    # [array([0, 1, 2]), array([3, 4, 5]), array([6, 7, 8])]
    # [array([0, 1, 2]), array([3, 4, 5]), array([6, 7, 8])]
    # 不均等分割: [array([0, 1, 2]), array([3, 4]), array([5, 6]), array([7, 8])]
    # [array([0, 1, 2]), array([3, 4, 5, 6, 7, 8])]
    # [array([0, 1, 2]), array([3, 4]), array([5, 6]), array([7]), array([8])]
    # [[1. ]
    #  [1.5]
    #  [2. ]
    #  [2.5]]
    # [[ 1.   2.   3.   4.   5.   6.   7.   8.   9. ]
    #  [ 1.5  2.5  3.5  4.5  5.5  6.5  7.5  8.5  9.5]
    #  [ 2.   3.   4.   5.   6.   7.   8.   9.  10. ]
    #  [ 2.5  3.5  4.5  5.5  6.5  7.5  8.5  9.5 10.5]]
    # [array([[1. , 2. , 3. ],
    #        [1.5, 2.5, 3.5],
    #        [2. , 3. , 4. ],
    #        [2.5, 3.5, 4.5]]), array([[4. , 5. , 6. ],
    #        [4.5, 5.5, 6.5],
    #        [5. , 6. , 7. ],
    #        [5.5, 6.5, 7.5]]), array([[ 7. ,  8. ,  9. ],
    #        [ 7.5,  8.5,  9.5],
    #        [ 8. ,  9. , 10. ],
    #        [ 8.5,  9.5, 10.5]])]
    # [array([[1. , 2. , 3. , 4. , 5. , 6. , 7. , 8. , 9. ],
    #        [1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5]]), array([[ 2. ,  3. ,  4. ,  5. ,  6. ,  7. ,  8. ,  9. , 10. ],
    #        [ 2.5,  3.5,  4.5,  5.5,  6.5,  7.5,  8.5,  9.5, 10.5]])]
    # a =  [[1.  2.  3.  4. ]
    #  [1.5 2.5 3.5 4.5]
    #  [2.  3.  4.  5. ]
    #  [2.5 3.5 4.5 5.5]]
    # b =  [[ 5.   6.   7.   8.   9. ]
    #  [ 5.5  6.5  7.5  8.5  9.5]
    #  [ 6.   7.   8.   9.  10. ]
    #  [ 6.5  7.5  8.5  9.5 10.5]]
  • 相关阅读:
    高质量图形库:pixellib
    有了 Docker,用 JavaScript 框架开发的 Web 站点也能很好地支持网络爬虫的内容抓取
    Freebie: Material Design UI Kit
    Git 10 周年之际,创始人 Linus Torvalds 访谈
    React.js 样式组件:React Style
    有趣 GIF 动图集
    10个免费开源的JS音乐播放器插件
    简约的单页应用引擎:sonnyJS
    2015年4月 非常干货之Python资源大全
    评论 ”[实例] 设计基于JQM的WebApp“
  • 原文地址:https://www.cnblogs.com/shona/p/12163515.html
Copyright © 2011-2022 走看看