您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python,numpy布尔数组:where语句中的否定

python,numpy布尔数组:where语句中的否定

我建议使用

array ^= numpy.random.rand(len(array)) < prob

这可能是获得所需结果的最有效方法。它将使用“ xor”对数组进行修改,以反转随机条件求值的条目True

为什么我可以采用array的值而不是取反?

您也不能采用数组的真值:

>>> bool(array)
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

not运营商将暗中给它的操作数转换bool,然后返回相反的真假值。无法过载not以执行任何其他行为。要对的NumPy数组求反bool,可以使用

~array

要么

numpy.logical_not(array)

要么

numpy.invert(array)

虽然。

python 2022/1/1 18:38:56 有368人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶