Julia中与np.clip对应的内置函数是什么?
Julia中对应NumPy
np.clip的内置函数 Julia确实有和NumPy np.clip完全对应的官方内置函数——clamp(以及原地修改版本clamp!),功能完全匹配你描述的需求:将数组中低于最小值的元素设为最小值,高于最大值的元素设为最大值。
非原地版本(返回新数组)
对应NumPy np.clip的默认行为,不修改原数组,返回截断后的新数组:
julia> a = collect(0:9); julia> clamped_a = clamp(a, 1, 8) 10-element Vector{Int64}: 1 1 2 3 4 5 6 7 8 8
原地版本(修改原数组)
如果你需要直接修改原数组,使用clamp!即可,和你自行实现的clip!功能一致,且是官方优化后的实现:
julia> a = collect(0:9); julia> clamp!(a, 1, 8); julia> a 10-element Vector{Int64}: 1 1 2 3 4 5 6 7 8 8
另外,clamp还支持对单个数值进行截断操作,比如:
julia> clamp(0, 1, 8) 1 julia> clamp(10, 1, 8) 8 julia> clamp(5, 1, 8) 5
内容的提问来源于stack exchange,提问作者Shayan
相关产品推荐
相关产品推荐

