大家好,请问Julia中有没有将某向量中小于零的元素全部变为零的函数。类似于numpy中的命令:
np.where(a > 0, a, 0)
array([[0, 0, 0, 2, 1],
[0, 0, 0, 3, 3],
[0, 0, 3, 0, 3],
[0, 0, 0, 1, 0],
[0, 3, 1, 3, 0]])
你可以这样
replace!(x -> x < 0 ? 0 : x, nums)
多谢您的信息。我刚才找到另外一个:A = [1, 2, -1, 0, -1]; A[A.<=0] .= 0 这样貌似也行。
indexs = map(x->x<0, nums)
nums[indexs] = 0
其实这样也行
非常感谢,提供这么多解决办法
用 max.()
即可:
using Random
matrix = randn((5, 5))
matrix
5×5 Array{Float64,2}:
-0.293896 -0.0923751 1.35179 1.302 0.316829
-0.676218 1.14107 -2.32833 -0.458041 -1.22601
-0.417285 -0.633587 -1.09562 0.823175 -0.732235
0.324956 0.727978 0.0461656 1.18404 1.58474
0.359931 -0.644496 -0.570365 0.887753 -1.27992
max.(0, matrix)
5×5 Array{Float64,2}:
0.0 0.0 1.35179 1.302 0.316829
0.0 1.14107 0.0 0.0 0.0
0.0 0.0 0.0 0.823175 0.0
0.324956 0.727978 0.0461656 1.18404 1.58474
0.359931 0.0 0.0 0.887753 0.0
非常感谢,这个方法很好