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

新手上路,请多包涵

Numpy 中是否有函数可以反转二进制数组中的 0 和 1?如果

a = np.array([0, 1, 0, 1, 1])

我想得到:

 b = [1, 0, 1, 0, 0]

我用:

 b[a==0] = 1
b[a==1] = 0

但也许 Numpy 中已经存在一些东西可以做到这一点。

原文由 floflo29 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 654
2 个回答

你可以简单地做:

 In[1]:b=1-a
In[2]:b
Out[2]: array([1, 0, 1, 0, 0])

或者

In[22]:b=(~a.astype(bool)).astype(int)
Out[22]: array([1, 0, 1, 0, 0])

原文由 shivsn 发布,翻译遵循 CC BY-SA 3.0 许可协议

功能方法:

 >>> np.logical_not(a).astype(int)
array([1, 0, 1, 0, 0])

原文由 Mazdak 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题