私は、長さ40のnumpy.array
をより小さい等しいサイズのnumpy.array
に分割しようとしています。この場合、より小さな配列の数がユーザーによって与えられます。小さな配列の重複のいくつかの形が与えられた分割によって分割されるだけの状況が発生する可能性があるので、小さな配列間でいくらかの重なりを持つことが許されます。配列を同じサイズのウィンドウに分割する
私は配列np.array([range(40)])
を持っていたし、私は37個のサブアレイに分割しなければならないとしたら、サブアレイのリストは、次のようにする必要があります:
[1, 2, 3], [3, 4, 5], [5, 6, 7], ... [38, 39, 40]
私はnumpy.split
を使用してみましたが、長さがある場合にのみ動作しますサイズで割り切れます。numpy.array_split
は、サイズが不均一です。
例numpy.split
>> import numpy as np
>>> a = np.random.randint(6,size=(40))
>>> b = np.split(a,37)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/site-packages/numpy/lib/shape_base.py", line 508, in split
'array split does not result in an equal division')
ValueError: array split does not result in an equal division
を使用してnumpy.array_split
>>> a = np.random.randint(5,size=(40))
>>> b = np.array_split(a,37)
>>> print len(b)
37
>>> print b[0].shape
(2,)
>>> print b[3].shape
(1,)
>>> print b[5].shape
(1,)
>>> print b[6].shape
(1,)
>>> print b[30].shape
(1,)
>>>
numpy.array_split
と同じようにそれらを分裂しません。
それどころか、それらの機能はまったくあなたの言うこととまったく同じです。あなたが得る出力とあなたが望む出力を私たちに教えてください。 –
に 'numpy.split'の例が追加されました – Somthin
' array_split'のドキュメントでは、不均一な分割を処理すると書かれています。 'split'はエラーを投げるように設計されています。 –