Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 大于x时替换数组中的值_Python_Arrays_Numpy - Fatal编程技术网

Python 大于x时替换数组中的值

Python 大于x时替换数组中的值,python,arrays,numpy,Python,Arrays,Numpy,我对一个简单的想法有点小问题。我有一个数据数组,如果值大于X,我想替换每个值 为了解决这个问题,我写了一个小脚本作为例子,给出了相同的想法: import numpy as np # Array creation array = np.array([0.5, 0.6, 0.9825]) print array # If value > 0.7 replace by 0. new_array = array[array > 0.7] == 0 print new_array

我对一个简单的想法有点小问题。我有一个数据数组,如果值大于X,我想替换每个值

为了解决这个问题,我写了一个小脚本作为例子,给出了相同的想法:

import numpy as np

# Array creation

array = np.array([0.5, 0.6, 0.9825])

print array

# If value > 0.7 replace by 0.

new_array = array[array > 0.7] == 0

print new_array
我想获得:

>>> [0.5, 0.6, 0] # 0.9825 is replaced by 0 because > 0.7
如果你能帮我,谢谢你;)

编辑:

我没有发现这个主题对我有什么帮助:
@ColonelBeauvel给出的答案在上一篇文章中没有被注意到。

我想知道为什么@DonkeyKong提供的链接中没有提供此解决方案:

np.where(arr>0.7, 0, arr)
#Out[282]: array([ 0.5,  0.6,  0. ])
怎么样

a = [0.5, 0.6, 0.9825]
b = [(lambda i: 0 if i > 0.7 else i)(i) for i in a]
?

这是里面的。
查看链接

非常感谢!它工作得很好!我当时正在看
np.where
也;)虽然该代码可以回答该问题,但提供关于为什么和/或如何回答该问题的额外上下文将显著提高其长期价值。请在您的回答中添加一些解释。