Skip to content

toona note

Numpy の3点リーダー(Ellipsis)

はじめに

numpy の 3 点リーダーには、

  • 省略記号
  • 深いコピー

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

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

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

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

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

使い時

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

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

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

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

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