np.split() 与 np.array_split() 的区别

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.array_split() 的不均等分割

>>> x = np.arange(8.0)
>>> np.array_split(x, 3)
    [array([ 0.,  1.,  2.]), array([ 3.,  4.,  5.]), array([ 6.,  7.])]

np.split()均等分割

>>> a=np.logspace(1,10,20)
>>> np.split(a,5)
[array([ 10.        ,  29.76351442,  88.58667904, 263.66508987]), array([  784.75997035,  2335.72146909,  6951.92796178, 20691.38081115]), array([  61584.8211066 ,  183298.07108324,  545559.47811685,
       1623776.73918872]), array([4.83293024e+06, 1.43844989e+07, 4.28133240e+07, 1.27427499e+08]), array([3.79269019e+08, 1.12883789e+09, 3.35981829e+09, 1.00000000e+10])]

两个函数均有参数axis,axis=0表示按行分割,axis=1表示按列分割。

>>> b=np.arange(12).reshape(3,4)
>>> print(b)
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
 
>>> np.split(b,2,axis=1)
[array([[0, 1],
       [4, 5],
       [8, 9]]), array([[ 2,  3],
       [ 6,  7],
       [10, 11]])]
>>> np.array_split(b,3,axis=1)
>>> np.array_split(b,2,axis=0)
[array([[0, 1],
       [4, 5],
       [8, 9]]), array([[ 2],
       [ 6],
       [10]]), array([[ 3],
       [ 7],
       [11]])]
       
[array([[0, 1, 2, 3],
        [4, 5, 6, 7]]), array([[ 8,  9, 10, 11]])]
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值