使用 numpy.random.choice随机采样:
numpy.random.choice(a, size=None, replace=True, p=None)
1、按照指定概率采样:
#按照分布采样
def randomExample():
d1=np.array([0.2,0.3,0.5])
index=[]
for num in range(100000):
r = random.uniform(0, 1)
for i in range(1,4):
if r < sum(d1[0:i]):
index.append(i-1)
break
print(index)
print(sum(np.array(index)==0))
print(sum(np.array(index)==1))
print(sum(np.array(index)==2))
2、可以从一个int数字或1维array里随机选取内容,并将选取结果放入n维array中返回。
def randomByPro():
arr=np.random.choice(5, 3, p=[0.1, 0, 0.3, 0, 0.6])
print(arr)