如何创建大小为n的NumPy随机0/1整数向量?
生成随机0/1整数的n维numpy向量
有几种简便的方法可以实现:
使用
np.random.randint:这是最直观的方式,直接指定取值范围和向量大小import numpy as np n = 5 # 替换成你需要的维度 random_vec = np.random.randint(0, 2, size=n)这里
0, 2表示生成的整数范围是左闭右开的[0,2),只会取0和1两个值。使用
np.random.choice:从指定元素列表中随机选取,适合需要自定义可选值的场景import numpy as np n = 5 random_vec = np.random.choice([0, 1], size=n)如果需要非均等概率生成0或1,还可以通过
p参数调整,比如p=[0.3, 0.7]表示70%概率生成1。使用
np.random.binomial:基于伯努利分布生成,适合从概率角度生成0/1向量import numpy as np n = 5 random_vec = np.random.binomial(1, 0.5, size=n)第一个参数
1代表单次伯努利试验,0.5是试验成功(生成1)的概率,size指定向量长度。
内容的提问来源于stack exchange,提问作者Cyberbunny
相关产品推荐
相关产品推荐

