NumPy

Deep Learning

NumPy♪nditerを使うと様々な次元数に対応できる

NumPyでは、引数の次元数を限定しないコーディングができるように様々な関数が用意されています。nditerもそのひとつであり、配列の要素を順番に指定することができます。なお、op_flags=['readwrite']についても簡単に紹介します。
Deep Learning

NumPy♪ファンシーインデックスが苦手だと感じたら

ファンシーインデックスの簡単な例はすぐに理解できますが、使い方の仕組みが分からず悩んでしまいました。キーワードは「ブロードキャスト」「インデックスとして渡す配列の数」「list指定とNumPy配列指定の違い」です。ルールがわかればスッキリします。
Deep Learning

NumPy♪ブロードキャストを雰囲気で理解していませんか?

NumPyのブロードキャストは非常に強力な機能です。だから、なんとなく雰囲気で使うのはもったいない。ルールはシンプルですので、一度だけしっかり理解しましょう。NumPyの使い勝手が格段に向上するはずです。ブロードキャストあってのNumPyです。
NumPy

Python♪用語集:NumPyの配列に関する日本語表現

NumPy配列のsize、shape、shape[i]等の日本語表現は様々です。例えば、.shape[i]が示す値は「要素数」「大きさ」「長さ」など多くの言葉が定義されています。そこで、これらの中から使いやすく混乱しにくい表現を選び、紹介したいと思います。
Deep Learning

NumPy♪関数maxやsumにおけるkeepdims指定の図解

keepdims指定によって配列の次元数が維持されるのはわかります。でも、各次元の長さが、どのように変化するのかについては、すっきりしない方も多いのではないでしょうか。そこで、計算前後の変化について図を使って説明したいと思います。
Deep Learning

NumPy♪axis指定を易しく図解(axis = -1とは)

NumPyの関数max等ではaxisで方向を指定しますが、axisの番号と方向の対応が分かりにくく、axisを使うたびに調べ直していませんか。また、計算後の配列の次元数や各次元の大きさについて、モヤモヤしている人も多いのではないでしょうか。
Deep Learning

Python♪NumPyのa[[0], 0, 0:1]は何次元の配列になる?

NumPyの配列の要素はスライスやリスト(配列)を使って部分的に要素を抜き出せますが、抜き出した配列の次元がどうなるのか混乱しませんか?しかし、実は抜き出し後の配列の次元数は機械的に判断できます。最初に知っておくと頭に入りやすくなります。
Deep Learning

Python♪NumPyのa[i, j, k]とa[i][j][k]の違い

NumPy配列では要素を参照するときに、a[i, j, k]とa[i][j][k]という2つの表記法があります。「そうだっけ」と思った方はその違いを整理しておきましょう。計算速度、データへのアクセスの考え方が違いますので注意が必要です。