Numpy の3点リーダー(Ellipsis)

はじめに

numpy の3点リーダーには、

  • 省略記号
  • 深いコピー

の2つの使い方があります。

省略記号としての 3点リーダー

「…」 は省略記号として用いることができます。
例えば、[:, :, 0] を […, 0] と省略して記述できます。
下に、 3×3×3 の ndarray a に対する操作を例示します。

この操作は[:, :, 0] の操作に等しいので、下のコードも同じことができます。

また、python において、 「…」 は Ellipsis に等しいので、下のコードも全く同一の操作です。

使い時

例えば、次元を増やす時に便利です。

深いコピーとしての3点リーダー

代入先に同じ大きさの ndarray を用意しておくことで、「…」 で深いコピーができます。

上のコードのように a[…] = b とすることで、深いコピーができます。

また、やはり 「…」 は Ellipsis と同じです。 コード例を示します。

コメント

タイトルとURLをコピーしました