np.array_split()&np.split()

np.split():

大小要么按照数字来划分(int),要么是一个list来划分:但是如果你仅是输入一个int类型的数字的话,你的数组必须是均等的分割,否则就会报错,不像array_split()是可以进行不均等的划分的!

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

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

一旦不均等就会报错:

import numpy as np
x = np.arange(8.0)

print np.array_split(x,3)

print np.split(x, 3)

错误:

'array split does not result in an equal division')
ValueError: array split does not result in an equal division


注意不均等划分的情况

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

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



你可能感兴趣的:(python)