【发布时间】:2019-07-21 03:57:03
【问题描述】:
我正在尝试遍历 numpy 数组的每个元素并以半随机方式更改其值。这样做的原因是,我将该方法应用于不同的数组:我希望它们被更改,但我不希望它们以相同的方式更改。
这是我目前尝试过的:
with np.nditer(smatrix, op_flags=['readwrite']) as it:
for element in it:
if element < 0:
element = element - uniform(0.1,0.2)
if 0 <= element < 0.05:
element = uniform(0.15,0.3)
elif 0.05 <= element < 1:
element = 0
elif 1 == element:
element = 1
另一种可能性:
for element in np.nditer(smatrix, op_flags=['readwrite']):
if element < 0:
element = element - uniform(0.1,0.2)
if 0 <= element < 0.05:
element = uniform(0.15,0.3)
elif 0.05 <= element < 1:
element = 0
elif 1 == element:
element = 1
但是,结果数组看起来与初始数组完全相同...
我对编程比较陌生,并且在这个问题上停留了很长一段时间。如果有人能给我一个关于如何解决它的提示,最好是一个简短的解释,那就太棒了。谢谢!!
【问题讨论】:
标签: python arrays numpy iteration numpy-ndarray