Numpy通过索引翻转布尔数组?

tnkciper  于 11个月前  发布在  其他
关注(0)|答案(2)|浏览(144)

说我有

>>> arr = np.array([True, True, False], dtype=bool)

字符串
有没有可能把

>>> arr.flip_boolean_array_by_index(2)
[True, True, True]

nafvub8i

nafvub8i1#

您可以使用按位求反运算符~,或按位异或(^)与1。

arr[idx] = ~arr[idx]

字符串

arr[idx] ^= 1


idx可以是索引、切片、“花式”索引等。

5m1hhzi4

5m1hhzi42#

我发现dytpe=numpy.bool_数组上的^= 1给出了一个UFuncTypeError(不能从dtype int64转换为dtype bool)。然而,^= True可以工作,例如arr[idx] ^= True。这是在numpy 1.26.3中。

相关问题