boolean subtract DeprecationWarning

Lyn*_*ite 5 python duck-typing numpy

我最近升级到numpy 1.9dev.(用于改进OpenBlas支持).

我有一些代码可以做出x-y Where xy来自概率分布的样本.如果分布是伯努利,则它们是布尔值.如果分布是高斯分布,则它们是浮点数.

在哪里取决于所遵循的路径x,y 可能是bools或浮动.我不必关心python有鸭子打字.如果可以减去那么它是一个有效的价值xy

我收到这个警告:

DeprecationWarning:-不推荐使用numpy boolean subtract(二元运算符),而是使用bitwise_xor(^运算符)或logical_xor函数.

我已经把它警告消失了,把它变成了一个漂浮物.这可能是一件好事,因为它使代码在较低级别更加一致.(不作为好东西出售).

采取什么样的正确行动?我不能使用布尔或按位xor作为何时xy浮动,这将打破.这将是丑作出的类型的代码分支xy.

And*_*uan 9

也许你应该这样做:

x=x.astype(numpy.float32)
y=y.astype(numpy.float32)
Run Code Online (Sandbox Code Playgroud)

然后

x - y
Run Code Online (Sandbox Code Playgroud)

至少,它适用于我的情况.