
A.3
ブロードキャスト
499
他の軸に対して
take
を適用する場合は、キーワード引数
axis
を与えます。
In [75]: inds = [2, 0, 2, 1]
In [76]: arr = np.random.randn(2, 4)
In [77]: arr
Out[77]:
array([[-0.5397, 0.477 , 3.2489, -1.0212],
[-0.5771, 0.1241, 0.3026, 0.5238]])
In [78]: arr.take(inds, axis=1)
Out[78]:
array([[ 3.2489, -0.5397, 3.2489, 0.477 ],
[ 0.3026, -0.5771, 0.3026, 0.1241]])
put
には
axis
引数を指定することができません。その代わりに、平坦化(
C
型の順序で
1
次元化)され
たインデックスの配列を与える必要があります。したがって、第
0
軸以外に対して、インデックス配列
を使って要素の値を一括設定する必要がある場合には、ファンシーインデックス参照を使うのが最も簡
単です。
A.3
ブロードキャスト
ブロードキャストとは、形状の異なる
2
つの配列の間での算術演算のことを言います。この機能は使
いこなせれば強力なのですが、経験の豊かなユーザでも混乱しがちな機能でもあります。ブロードキャ
ストの最も単純な例は、スカラー値と配列を結合する場合です。
In [79]: arr = np.arange(5)
In [80]: arr ...