为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

四季花海 2021-07-15 14:11:16
假设我有以下 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谢谢
查看完整描述

2 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

您只需要使用&并将条件包含在( )


arr[(arr>1.0) & (arr<1.5)] = 1.0


# array([1.  , 1.  , 1.  , 1.8 , 1.  , 1.67, 1.  , 1.  ])   


查看完整回答
反对 回复 2021-07-27
?
jeck猫

TA贡献1909条经验 获得超7个赞

你可以这样做


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

您需要使用按位&将数组连接成一个数组掩码。


查看完整回答
反对 回复 2021-07-27
  • 2 回答
  • 0 关注
  • 279 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信