>假设我有以下 numpy 数组。
arr = np.array( [ 1.0, 1.1, 1.44, 1.8, 1.0, 1.67, 1.23, 1.0] )
我可以将所有等于 1.0 的元素替换为 0.0,只需使用以下行即可。
arr[arr==1.0] = 0.0
我如何在不运行 for 循环的情况下将 1.0 - 1.5 之间的所有元素替换为 1.0。
基本上我问的是怎么做以下几点
arr[arr>1.0 and arr<1.5] = 1.0
谢谢
您只需要使用&
将条件组合在一起,并将条件包含在( )
arr[(arr>1.0) & (arr<1.5)] = 1.0
# array([1. , 1. , 1. , 1.8 , 1. , 1.67, 1. , 1. ])
你可以这样做
arr = np.array( [ 1.0, 1.1, 1.44, 1.8, 1.0, 1.67, 1.23, 1.0] )
arr[(1<arr) & (arr<1.5)] = 1.0
您需要使用按位&
将数组连接到一个数组掩码中。