Numpy の3点リーダー(Ellipsis)
はじめに
numpy の 3 点リーダーには、
- 省略記号
- 深いコピー
の 2 つの使い方があります。
省略記号としての 3 点リーダー
「...」 は省略記号として用いることができます。
例えば、[:, :, 0] を [..., 0] と省略して記述できます。
下に、 3×3×3 の ndarray a に対する操作を例示します。
この操作は[:, :, 0] の操作に等しいので、下のコードも同じことができます。
また、python において、 「...」 は Ellipsis に等しいので、下のコードも全く同一の操作です。
使い時
例えば、次元を増やす時に便利です。
深いコピーとしての 3 点リーダー
代入先に同じ大きさの ndarray を用意しておくことで、「...」 で深いコピーができます。
上のコードのように a[...] = b とすることで、深いコピーができます。
また、やはり 「...」 は Ellipsis と同じです。 コード例を示します。
2021 02 17