如何创建一个全部为 True 或全部为 False 的 numpy 数组?

新手上路,请多包涵

在 Python 中,如何创建一个任意形状的 numpy 数组,其中填充所有 True 或所有 False

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

阅读 2.6k
2 个回答

答案:

 numpy.full((2, 2), True)


解释:

numpy 很容易创建全1或全0的数组:

例如 numpy.ones((2, 2))numpy.zeros((2, 2))

Since True and False are represented in Python as 1 and 0 , respectively, we have only to specify this array should be boolean using可选的 dtype 参数,我们完成了:

 numpy.ones((2, 2), dtype=bool)

返回:

 array([[ True,  True],
       [ True,  True]], dtype=bool)

更新:2013 年 10 月 30 日

从 numpy 版本 1.8 开始,我们可以使用 full 来实现相同的结果,语法更清楚地显示了我们的意图(正如 fmonegaglia 指出的那样):

 numpy.full((2, 2), True, dtype=bool)

更新:2017 年 1 月 16 日

由于至少 numpy 版本 1.12full 自动转换为第二个参数的 dtype ,所以我们可以写:

 numpy.full((2, 2), True)

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

numpy.full((2,2), True, dtype=bool)

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

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