numpy 如何生成一个布尔数组与随机值?

7rfyedvj  于 2023-06-23  发布在  其他
关注(0)|答案(2)|浏览(126)

基本上,我想生成一个给定长度的布尔数组,但内容是随机给定的。

mwyxok5s

mwyxok5s1#

你可以找到一个答案here。试试看

np.random.choice(a=[False, True], size=(N,))
vfwfrxfs

vfwfrxfs2#

更快的实现方式是

from numpy.random import default_rng

size = 100_000
rng = default_rng()
rng.integers(0, 1, size, endpoint=True, dtype=bool)

在我的答录机上

%timeit rng.integers(0, 1, size, endpoint=True, dtype=bool)
124 µs ± 595 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)

%timeit rng.choice(a=[False, True], size=size)
937 µs ± 3.93 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)

请注意,我使用了新的随机生成器,说明在这里。

相关问题