在Python中,如何创建一个填充了所有True或所有False的任意形状的numpy数组?
发布于 2016-02-05 20:38:10
numpy.full((2,2), True, dtype=bool)
发布于 2014-01-17 07:24:00
分别创建包含1和0的数组的ones
和zeros
接受一个可选的dtype
参数:
>>> numpy.ones((2, 2), dtype=bool)
array([[ True, True],
[ True, True]], dtype=bool)
>>> numpy.zeros((2, 2), dtype=bool)
array([[False, False],
[False, False]], dtype=bool)
发布于 2017-04-15 10:57:39
如果它不一定是可写的,您可以使用np.broadcast_to
创建这样的数组
>>> import numpy as np
>>> np.broadcast_to(True, (2, 5))
array([[ True, True, True, True, True],
[ True, True, True, True, True]], dtype=bool)
如果你需要它是可写的,你也可以创建一个空数组并自己fill
它:
>>> arr = np.empty((2, 5), dtype=bool)
>>> arr.fill(1)
>>> arr
array([[ True, True, True, True, True],
[ True, True, True, True, True]], dtype=bool)
这些方法只是另类建议。一般来说,你应该像其他答案所建议的那样,坚持使用np.full
、np.zeros
或np.ones
。
https://stackoverflow.com/questions/21174961
复制相似问题