我想用python抽取200个样本,但不知道能不能用for循环
import numpy as np
import random
import math
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
population = 1000
data = range(population)
a=[]
for i in range(200):
a[i]=random.sample(data,10)
a[i]
IndexError Traceback (most recent call last)
<ipython-input-16-bdbf620220a0> in <module>
8 a=[[]]
9 for i in range(200):
---> 10 a[i]=random.sample(data,10)
11 a
IndexError: list assignment index out of range
我之前是一次生成几个随机数,然后一个一个的写,生成了30个随机数,但是太麻烦了,与我希望200个样本还差太多
想知道怎样通过for循环或者其他办法快速生成多个样本
直接生成一个随机数组呢,比如:
#随机一维数组
# ways = 1 随机数范围(1,20)
np.random.randint(1,20,(10,1))
# ways = 2
np.random.randint(1,20,10)
有用采纳一下哈~
import numpy as np
sample = np.random.randint(1,1001,(200,10)) #生成200*10的1-1001内的随机样本
sample_mean = np.mean(sample, axis=1)
print(f"各样本平均值是:{sample_mean}")
print(f"样本总平均值是:{np.mean(sample_mean)}")