Pythonでは、二次元配列の要素を置換するためにいくつかの方法があります。ここでは、その中でも特に有用な方法をいくつか紹介します。
numpy.whereを使用する方法
numpy.where
は条件を満たす要素と満たさない要素をそれぞれ指定した数値やブール値に置き換える関数です。以下にその使用例を示します。
import numpy as np
# [[1 2 3]
# [4 5 6]
# [7 8 9]]
a = np.arange(1, 10).reshape(3, 3)
# 偶数を0、奇数を1に置き換える
b = np.where(a % 2 == 0, 0, 1)
print(b)
# [[1 0 1]
# [0 1 0]
# [1 0 1]]
条件を満たす要素を直接書き換える方法
条件を満たす要素を直接書き換えることも可能です。以下にその使用例を示します。
import numpy as np
# [[1 2 3]
# [4 5 6]
# [7 8 9]]
c = np.arange(1, 10).reshape(3, 3)
# 条件文
condition = c % 2 == 0
# 条件文を満たす要素を0に書き換える
c[condition] = 0
# 条件文を満たさない要素を1に書き換える
c[~condition] = 1
print(c)
# [[1 0 1]
# [0 1 0]
# [1 0 1]]
これらの方法を使うことで、Pythonの二次元配列の要素を効率的に置換することが可能です。具体的な状況に応じて適切な方法を選択しましょう。