1. 程式人生 > >np.array_split()&np.split()

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.])]