一个函数,它接受一个 NumPy 数组(任何形状和大小)和两个裁剪值,调用 range_min 和 range_max。输入中任何大于 range_max 的值都应该被裁剪为等于 range_max,任何小于 range_min 的值都应该被裁剪为等于 range_min。下一个单元格包含函数签名和 Python 文档代码,可帮助您入门。
我已经为这个问题实现了不同的代码,但不知道如何在没有循环的情况下做到这一点。
import numpy as np
def clip_array_range(list_values):
for (i, item) in enumerate(list_values):
if item < -10:
list_values[i]= -10
elif item > 10:
list_values[i]= 10
return list_values
print(clip_array_range([-3, 2, 3, 5, 22, -12, -8, 2, 10, 38, 15]))
# expected result: [ -3 2 3 5 10 -10 -8 2 10 10 10]
print(clip_array_range([100, -100,50, -50]))
new = np.reshape(clip_array_range, (-1))# I have tried change 1D
array into 2D as a output but it's not working
print(new)
# expected result:
#[[ 10 -10]
# [ 10 -10]]
此代码没有错误,但试图理解不同类型的逻辑以在没有循环的情况下执行此操作
森林海
慕尼黑5688855
相关分类