我有一个简单的想法有点问题。我有一个数据数组,如果值大于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
如果你能帮我,谢谢你;)
编辑:
我没有发现这个主题对我有什么帮助:替换PythonNumPy数组中大于某个值的所有元素。
我想知道为什么这个解决方案没有在链接@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]
?
这是列表推导式中的lambda表达式。检查链接