0
配列をコピーしようとしていますが、コピー内のすべての値をしきい値以下に置き換えていますが、元の配列はそのままです。numpy配列の値を置き換える問題
ここでは、私が行う必要がある簡単な例を示します。
A = [ nan nan nan 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
B = [ nan nan nan 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
< = 0.3における値も上書きされ、なぜ私が理解することはできませんが生成さ
import numpy as np
A = np.arange(0,1,.1)
B = A
B[B<.3] = np.nan
print ('A =', A)
print ('B =', B)
?
誰かがこれを私に説明し、回避策を提案できますか?
'B = A'はコピーではありません。 – user2357112
'A'と' B'は同じオブジェクトを指しています。 – sytech
一般に、Pythonでは、copy()(またはオブジェクト自体が参照を保持する場合はdeepcopy()を使用しない限り、=を使用するとオブジェクト自体ではなくオブジェクトへの参照がコピーされます)。これはメモリと時間を節約しますが、時には面倒です。 –