numpy split()函数

原文链接:https://blog.csdn.net/mingyuli/article/details/81227629

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


 
 
  1. >>> x = np.arange( 9.0)
  2. >>> np. split(x, 3)
  3. [ array([ 0., 1., 2.]), array([ 3., 4., 5.]), array([ 6., 7., 8.])]
  4. >>> x = np.arange( 8.0)
  5. >>> np. split(x, [ 3, 5, 6, 10])
  6. [ array([ 0., 1., 2.]),
  7. array([ 3., 4.]),
  8. array([ 5.]),
  9. array([ 6., 7.]),
  10. array([], dtype=float64)]

2、(3,)的用法


 
 
  1. m = np.arange( 8.0)
  2. n = np. split(m, ( 3,))
  3. print(n)
  4. 结果:[ array([ 0., 1., 2.]), array([ 3., 4., 5., 6., 7.])]
  5. 机器学习中的用法解释:
  6. #axis= 1,代表列,是要把data数据集中的所有数据按第四、五列之间分割为X集和Y集。
  7. x, y = np. split(data, ( 4,), axis= 1)
3、用法测试 

 
 
  1. #!/usr/bin/env python
  2. # _*_ coding: utf-8 _*_
  3. import numpy as np
  4. # Test 1
  5. A = np.arange( 12).reshape( 3, 4)
  6. print A
  7. # 纵向分割, 分成两部分, 按列分割
  8. print np.split(A, 2, axis = 1)
  9. # 横向分割, 分成三部分, 按行分割
  10. print np.split(A, 3, axis = 0)
  11. # Test 1 result
  12. [ [ 0 1 2 3]
  13. [ 4 5 6 7]
  14. [ 8 9 10 11]]
  15. [ array([[0, 1],
  16. [ 4, 5],
  17. [ 8, 9]]), array([[ 2, 3],
  18. [ 6, 7],
  19. [ 10, 11]])]
  20. [ array([[0, 1, 2, 3]]), array([[ 4, 5, 6, 7]]), array([[ 8, 9, 10, 11]])]
  21. # Test 2
  22. # 不均等分割
  23. print np.array_split(A, 3, axis = 1)
  24. # Test 2 result
  25. [ array([[0, 1],
  26. [ 4, 5],
  27. [ 8, 9]]), array([[ 2],
  28. [ 6],
  29. [ 10]]), array([[ 3],
  30. [ 7],
  31. [ 11]])]
  32. In [ 5]:
  33. # Test 3
  34. # 垂直方向分割
  35. print np.vsplit(A, 3)
  36. # 水平方向分割
  37. print np.hsplit(A, 2)
  38. # Test 3 result
  39. [ array([[0, 1, 2, 3]]), array([[ 4, 5, 6, 7]]), array([[ 8, 9, 10, 11]])]
  40. [ array([[0, 1],
  41. [ 4, 5],
  42. [ 8, 9]]), array([[ 2, 3],
  43. [ 6, 7],
  44. [ 10, 11]])]

4、与array_split的差别:split必须要均等分,否则会报错。array_split不会


 
 
  1. import numpy as np
  2. x = np.arange( 8.0)
  3. print np.array_split(x, 3)
  4. print np. split(x, 3)

ValueError:数组拆分不会导致均等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值