是否可以使用Python中的single where
条件计算以下内容。我无法做到这一点。
x = np.arange(10)
如果x的元素小于3,则将其替换为3.如果x的元素大于7,则将其替换为7.
我的尝试如下,但我想知道是否可以在一行代码中完成
x= np.where(x<3 ,3,x)
x = np.where(x>7,7,x)
对不起,如果看起来很基本的话。但我刚刚开始使用numpy
答案 0 :(得分:1)
您可以使用numpy.clip()
在一行中完成x = np.arange(10)
np.clip(x, 3, 7)
print(x)
#[3, 3, 3, 3, 4, 5, 6, 7, 7, 7]
答案 1 :(得分:0)
In [115]: a = np.arange(10)
In [116]: np.clip(a, 3, 7)
Out[116]: array([3, 3, 3, 3, 4, 5, 6, 7, 7, 7])
答案 2 :(得分:-1)
x= np.where(x<3, 3, np.where(x>7, 7, x))