猿问

然后在给定范围内替换numpy数组元素

假设我有以下 numpy 数组。

arr = np.array( [ 1.0, 1.1, 1.44, 1.8, 1.0, 1.67, 1.23, 1.0] )

我可以用 0.0 替换所有等于 1.0 的元素,只需使用以下行。

arr[arr==1.0] = 0.0

我怎么能在不运行 for 循环的情况下用 1.0 替换 1.0 - 1.5 之间的所有元素。

基本上我要问的是如何执行以下操作

arr[arr>1.0 and arr<1.5] = 1.0

谢谢


四季花海
浏览 280回答 2
2回答

一只名叫tom的猫

您只需要使用&并将条件包含在( )arr[(arr>1.0) & (arr<1.5)] = 1.0# array([1.&nbsp; , 1.&nbsp; , 1.&nbsp; , 1.8 , 1.&nbsp; , 1.67, 1.&nbsp; , 1.&nbsp; ])&nbsp; &nbsp;

jeck猫

你可以这样做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您需要使用按位&将数组连接成一个数组掩码。
随时随地看视频慕课网APP

相关分类

Python
我要回答