gpt4 book ai didi

python - 创建随机 bool 数组

转载 作者:行者123 更新时间:2023-12-01 22:51:13 25 4
gpt4 key购买 nike

我想在 Python 中高效地创建一个具有给定长度和给定数量的 True 值的随机 bool 数组。我找不到一个命令来执行此操作,以下是我想要的(两次)。有什么更优雅的方法吗?

import numpy as np

def randbool(length,numtrue):
index_array=np.random.choice(length,numtrue,replace=False)
bool_array=np.zeros(length,dtype=bool)
bool_array[index_array]=True
return(bool_array)

def randbool2(length,numtrue):
bool_array=np.hstack((np.tile(True,numtrue),np.tile(False,length-numtrue)))
np.random.shuffle(bool_array)
return(bool_array)

print(randbool(5,2))
print(randbool2(5,2))

最佳答案

还有一个选择:

def randbool(l,n):
return np.random.permutation(l)<n

np.random.permutation 随机排列 np.arange(l)

关于python - 创建随机 bool 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74348193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com