NumPy配列のインデックス指定の方法
NumPyではさまざまな一般的な配列インデックス付けの方法が用意されています。
- 1つの値を検索:角カッコ([])を使用して、特定の位置にある1つの値を検索できます。例えば、2次元配列 arr がある場合、arr[行インデックス、列インデックス] を使用すると、特定の位置にある値を取得できます。
- スライスによるインデックス: スライス操作を使用すると、配列から部分集合を取得できます。スライス操作は、1次元および多次元配列、そして異なる軸でのスライスに使用できます。たとえば、1次元の配列 arr の場合、arr[start:end:step] を使用して、start から end-1 までの要素を step の間隔で取得できます。2次元の配列 arr の場合、arr[start1:end1:step1, start2:end2:step2] を使用して、行範囲 start1:end1-1、列範囲 start2:end2-1 の部分集合を取得できます。
- 数値配列インデックス : 数値配列を用いて配列の要素にインデックスを付けることができます。 数値配列の各要素は、対応する軸上の取得する要素の位置を表します。 たとえば、一次元配列 arr の場合、数値配列 idx を使用して arr[idx] の要素を取得できます。 二次元配列 arr の場合、数値配列 idx1 と idx2 を使用して arr[idx1, idx2] の要素を取得できます。
- Boolean配列による配列インデックス取得法:あるBoolean配列を用いて配列の要素をインデックスできます。Boolean配列の各要素は、対応する位置の要素が選択されているかどうかを表します。たとえば、一次元配列arrの場合、Boolean配列maskを使用するとarr[mask]の中がTrueで選択された要素を取得できますし、二次元配列arrの場合には、Boolean配列maskを使用してarr[mask]の中がTrueで選択された要素を取得できます。
これらのインデックス方式を組み合わせて使用することで、さまざまなニーズに対応できます。