我正在尝试复制一个数组,将副本中的所有值替换为低于阈值,但保持原始数组的完整。
以下是我需要做的简化示例。
import numpy as np
A = np.arange(0,1,.1)
B = A
B[B<.3] = np.nan
print ('A =', A)
print ('B =', B)
哪个收益
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]
我无法理解为什么A&lt; = .3中的值也会被覆盖?
有人可以向我解释这个并提出解决方法吗?
答案 0 :(得分:2)
将B = A
更改为B = A.copy()
,这应该可以正常工作。如上所述,B
和A
引用内存中的相同对象。