相关疑难解决方法(0)

python tilde unary operator as negation numpy bool array

应该是一个简单的问题,但我无法在任何地方找到答案.~python中的运算符被记录为按位反转运算符.精细.我注意到看似精神分裂的行为,即:

~True -> -2
~1 -> -2
~False -> -1
~0 -> -1
~numpy.array([True,False],dtype=int) -> array([-2,-1])
~numpy.array([True,False],dtype=bool) -> array([False,True])
Run Code Online (Sandbox Code Playgroud)

在前4个示例中,我可以看到python正在实现(如文档所述)~x = -(x+1),输入被视为int,即使它是布尔值.因此,对于标量布尔值,~不被视为逻辑否定.并非在使用int类型的布尔值定义的numpy数组上的行为相同.

~那么为什么在布尔数组上作为逻辑否定运算符工作(另请注意:~numpy.isfinite(numpy.inf) -> True?)?

我必须not()在标量上使用它是非常烦人的,但是not()无法否定数组.然后对于一个数组,我必须使用~,但~不会否定一个标量......

python boolean numpy multidimensional-array

35
推荐指数
1
解决办法
9423
查看次数

在二进制数组中反转0和1

Numpy中是否有一个函数在二进制数组中反转0和1?如果

a = np.array([0, 1, 0, 1, 1])
Run Code Online (Sandbox Code Playgroud)

我想得到:

b = [1, 0, 1, 0, 0]
Run Code Online (Sandbox Code Playgroud)

我用:

b[a==0] = 1
b[a==1] = 0
Run Code Online (Sandbox Code Playgroud)

但也许它已经在Numpy中存在了这样做.

python numpy

3
推荐指数
2
解决办法
8740
查看次数

标签 统计

numpy ×2

python ×2

boolean ×1

multidimensional-array ×1