1

別の 2D 配列の条件が真であるインデックスで、ある 3D 配列から別の 3D 配列にデータをコピーしたいと考えています。3 つの配列はすべて、最初の 2 次元形状 (x、y 座標) が同じです。

私はそれが何かのようになるだろうと思った、

a[c == cond] = b[c == cond]

ただし、この場合、検査時にデータが破損/文字化けしています。これは間違った方法ですか、それとも正しい方法であり、コードのどこかに問題がありますか?

ありがとう!

4

3 に答える 3

1

配列がまったく同じ形状の場合、次のことができます

import numpy as np
a = np.random.rand(4,5,3)
b = np.random.rand(4,5,3)
c = np.random.rand(4,5,3)
cond = c > 0.5 # for example
b[cond] = a[cond]

ただし、最後の軸で形状が異なる場合は、何が起こると予想されるかを説明する必要があります。

于 2013-03-31T09:51:24.723 に答える
0

申し訳ありませんが、コピー先の配列には異なる dtype があり、元の dtype に変換するのではなく、その配列の dtype にキャストしていました。ソース配列と同じ dtype でその配列を初期化することで修正されました。

于 2013-04-01T03:07:44.990 に答える