1
多次元データ(多分4D、時には3D)よりも多くの異なるタイプの関数を実行する必要があります。 np.ndenumerate
を使ってこれらの配列を列挙する効率的な方法を見つけました。ただし、これは一度に1つずつ繰り返すために1つの配列に制限されています。2つ以上の同じ形状の配列を列挙する
複数のタイプのディメンションを持つが、それらの配列内のデータを変更/更新/使用するために同じ関数を使用できるという問題を解決するには、現在の静的バージョンを変換できるようにしたいと思います。以下のようなものに
# Random data
array1 = np.random.rand(5, 7, 50, 40)
array2 = np.random.rand(5, 7, 50, 40)
result = np.zeros(array1.shape)
for (a, b, c, d), array1Data in np.ndenumerate(array1):
array2Data = array2[a][b][c][d]
result[a][b][c][d] = np.sqrt(array1Data**2 + array2Data**2)
print(result)
:
# Random data
array1 = np.random.rand(5, 7, 50, 40)
array2 = np.random.rand(5, 7, 50, 40)
result = np.zeros(array1.shape)
for indexes, array1Data, array2Data in np.ndenumerate(array1, array2):
result[indexes] = np.sqrt(array1Data**2 + array2Data**2)
print(result)
は、あなただけの '結果= np.sqrt(配列1 ** 2 +配列2 ** 2)'を書くことができませんか? – chepner
この例では、スキップするインデックスがある場合や、1つのライナーを避けてより自然な言語でコードを作成することが望ましい場合はいつでも、私は1か月後にそれを見ています。 – Emptyless