を比較すると、Aの要素が両方の配列が同じ次元で常に0に等しい。I 2つのnumpyのアレイを有し、素子Bが1であるときはいつでも私が欲しい2つのnumpyのアレイ
A = [1, 2, 3, 4, 5]
B = [0, 0, 0, 1, 0]
私が実行しようとしました私はまだそれを動作させることができません。
B[A==1]=0
従来のループを使わずにnumpyでこれを実現するにはどうすればよいですか?
を比較すると、Aの要素が両方の配列が同じ次元で常に0に等しい。I 2つのnumpyのアレイを有し、素子Bが1であるときはいつでも私が欲しい2つのnumpyのアレイ
A = [1, 2, 3, 4, 5]
B = [0, 0, 0, 1, 0]
私が実行しようとしました私はまだそれを動作させることができません。
B[A==1]=0
従来のループを使わずにnumpyでこれを実現するにはどうすればよいですか?
まず、リストではなく配列にする必要があります。あなたの代わりにリストを使用している場合次に、あなただけのBおよびA.
import numpy as np
A = np.array([1, 2, 3, 4, 5])
B = np.array([0, 0, 0, 1, 0])
A[B==1]=0 ## array([1, 2, 3, 0, 5])
を反転し、ここであなたはB == 1
は、(配列の代わりに)False
または0
ですのでです
A = [1, 2, 3, 4, 5]
B = [0, 0, 0, 1, 0]
A[B==1]=0 ## [0, 2, 3, 4, 5]
を得るものです。だから本質的に書いてくださいA[0] = 0
あなたは何をしたいのですか?
A[B==1] = 0
A
array([1, 2, 3, 0, 5])