Python で Numpy 配列の行を反復処理する

Vaibhhav Khetarpal 2023年6月20日
  1. ネストされた for ループを使用して、Python で Numpy 配列の行を反復処理する
  2. for ループと flatten() 関数を使用して、Python で Numpy 配列の行を反復処理する
  3. apply_along_axis() 関数を使用して、Python で Numpy 配列の行を反復処理する
Python で Numpy 配列の行を反復処理する

Python は主に NumPy ライブラリを使用して、コード内で配列を実装できるようにします。 これらの配列は n 次元にすることができます。 配列の要素を反復処理することは、プログラマーが配列を実装する際に遭遇する数少ないことの 1つです。

このチュートリアルでは、Python で NumPy 配列の行を反復処理する方法を示します。

行と列の概念は、1 次元配列には存在しません。 したがって、少なくとも 2 次元の配列について説明します。 この記事のメソッドと実装のほとんどは、2 次元配列で実行されます。

ネストされた for ループを使用して、Python で Numpy 配列の行を反復処理する

単一行の要素を反復するには、for ループだけを利用できる場合があります。 ただし、NumPy 配列の複数の行を反復するには、for ループをネストする必要があります。

作業は簡単で、コードはネストされた for ループを使用して、配列のすべての要素にアクセスし、行単位で繰り返し処理します。

次のコードは、ネストされた for ループを使用して、Python で NumPy 配列の行を反復処理します。

import numpy as np

x = np.matrix([[21, 22, 23], [24, 25, 26], [27, 28, 29]])
for row in x:
    print(str(row))

上記のコードは、次の出力を提供します。

[[21 22 23]]
[[24 25 26]]
[[27 28 29]]

ここでは、print コマンドを使用してすべての行を印刷しました。 詳細が示されている場合は、NumPy 配列の行に対して任意の関数を実装することもできます。

for ループと flatten() 関数を使用して、Python で Numpy 配列の行を反復処理する

for ループをネストする代わりに、flatten() 関数を使用して Python で NumPy 配列の行を反復処理する別のルートを取ることができます。 flatten() 関数は、2 次元配列を 1 次元配列に変換できます。これにより、プログラム内で for ループを 1 回適用するだけで、必要な結果を得ることができます。

次のコードは、for ループと flatten() 関数を使用して、Python で NumPy 配列の行を反復処理します。

import numpy as np

x = np.matrix([[21, 22, 23], [24, 25, 26], [27, 28, 29]])
for cell in x.flatten():
    print(cell, end=" ")

上記のコードは、次の出力を提供します。

[[21 22 23 24 25 26 27 28 29]]

apply_along_axis() 関数を使用して、Python で Numpy 配列の行を反復処理する

NumPy ライブラリは、プログラマが指定した任意の軸に沿って配列の要素に関数を適用できる NumPy.apply_along_axis() 関数を提供します。 apply_along_axis() 関数は単純な構文を持ち、プログラマーが実装する必要がある関数、指定された軸、実装が必要な配列を受け取ります。

次のコードは、apply_along_axis() 関数を使用して、Python で NumPy 配列の行を反復処理します。

import numpy as np

x = np.matrix([[21, 22, 23], [24, 25, 26], [27, 28, 29]])


def myfunction(a):
    return a


print(np.apply_along_axis(myfunction, axis=1, arr=x))

上記のコードは、次の出力を提供します。

[[21 22 23]
 [24 25 26]
 [27 28 29]]
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

関連記事 - NumPy Array