
A.2
配列操作:応用編
493
order
引数を与えることができます。この引数に設定する値は、通常は
'C'
か
'F'
です(あまり使われな
いオプションとして
'A'
や
'K'
もあります。詳しくは
NumPy
のドキュメントを参照してください。また、
これらのオプションによる変化を、先ほどの図A-3で説明しています)。次の例では、
ravel
の処理順序
を変えた結果を比較しています。
In [31]: arr = np.arange(12).reshape((3, 4))
In [32]: arr
Out[32]:
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
In [33]: arr.ravel()
Out[33]: array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
)
In [34]: arr.ravel('F')
Out[34]: array([ 0, 4, 8, 1, 5, 9, 2, 6, 10, 3, 7, 11])
2
次元より高い次元の配列の再成形は、多少難解に感じるかもしれません(図A-3を参照)。
C
型順序
と
Fortran
型順序の違いのポイントは、どの次元を先に走査するのか、という点です。
C型、つまり行優先の順序
より高い次元を先にトラバースする(例えば、第
0
軸の処理に進む前に第
1
軸を処理する)。
Fortran型、つまり列優先の順序
より高い次元を後にトラバースする(例えば、第
1
軸の処理に進む前に第