2017-01-04 12 views

答えて

0
numpy.split(ary, indices_or_sections, axis=0) 

Indices_or_sections:intまたは1-Dアレイ indices_or_sectionsは整数、Nである場合には、アレイは、軸に沿ってN等しいアレイに分割されます。このような分割が不可能な場合は、エラーが発生します。 indices_or_sectionsがソートされた整数の1次元配列である場合、エントリは、軸に沿って配列が分割されている場所を示します。 インデックスが軸に沿った配列の次元を超えると、対応する空のサブ配列が返されます。 Source documentation

2

インデックス0

1

スプリットタプルの値に列軸に沿ってアレイ上の-1の値を持つタプル。 (-1,)はそれを2つに分割します。

import numpy as np 

x = np.arange(9.0).reshape(3,3) 
print x,'\n' 

a=np.split(x, (-1,), axis=1) 

print a,'\n' 
print a[0],'\n' 
print a[1],'\n' 

出力:多くの場合、

[[ 0. 1. 2.] 
[ 3. 4. 5.] 
[ 6. 7. 8.]] 

[array([[ 0., 1.], 
     [ 3., 4.], 
     [ 6., 7.]]), array([[ 2.], 
     [ 5.], 
     [ 8.]])] 

[[ 0. 1.] 
[ 3. 4.] 
[ 6. 7.]] 

[[ 2.] 
[ 5.] 
[ 8.]] 
2

-1手段、from-the-endをインデックス。 (-1,)は1要素タプルです。この文脈で

その意味は、想像することは少し難しいですが、簡単なテストでは、それがより明確になります:

In [304]: x=np.arange(10) 
In [305]: np.split(x, (-1,)) 
Out[305]: [array([0, 1, 2, 3, 4, 5, 6, 7, 8]), array([9])] 

それは1つの要素の長さで最後の部分で、配列を分割します。タプル記法で混乱しないでください。それは実際にリストを期待しています。 [-1]

In [307]: np.split(x, [-1]) 
Out[307]: [array([0, 1, 2, 3, 4, 5, 6, 7, 8]), array([9])] 

我々は最後の配列の3つの項目、または最初の3つの項目に分割することができます。

In [313]: x[0:3],x[3:-2],x[-2:] 
Out[313]: (array([0, 1, 2]), array([3, 4, 5, 6, 7]), array([8, 9])) 

:この最後の分割が実際に3つのインデックス範囲で行われる

In [311]: np.split(x, [3,-2]) 
Out[311]: [array([0, 1, 2]), array([3, 4, 5, 6, 7]), array([8, 9])] 

:3つの最初の項目、最後の2で

In [308]: np.split(x, [-3]) 
Out[308]: [array([0, 1, 2, 3, 4, 5, 6]), array([7, 8, 9])] 
In [309]: np.split(x, [3]) 
Out[309]: [array([0, 1, 2]), array([3, 4, 5, 6, 7, 8, 9])] 

または3ウェイ・スプリット、あなたのケースは2次元配列であり、列の分割を行っています。実際にはy_testが最後の列であり、残りはx_testです。

関連する問題