python中需要在一定区间内进行采样,或是对生成的数据进行采样,可以利用随机模块
random.sample()
函数或者numpy.random.choice()
函数实现。
1.随机采样
如果需要对某个区间内的数进行随机采样,可以使用random.sample()
来实现。
random.sample(N, m)
函数主要有两个参数,分别是需要采样的序列N和需要采样的样本个数m。
import random
N = range(10)
m = 3
a = random.sample(N, m)
print(a)
# 从0~9的序列中采样了3个样本
>>> [0, 5, 8]
numpy中的随机数模块同样可以进行采样,可以利用numpy.random.choice()
函数实现。numpy.random.choice(a, size=None, replace=True, p=None)
主要有四个参数,其中a
为一维待采样序列,size
为采样样本数目,replace
代表是否重复采样,p
如果设置的话与a等长代表序列中每个位置的采样概率。
import numpy as np
N = range(10)
m = 3
a = np.random.choice(N, size=3)
b = np.random.choice(N, size=6)
c = np.random.choice(N, size=9)
print("a:",a)
print("b:",b)
print("c:",c)
#输出结果
>>>
'a:', array([5, 9, 7])
'b:', array([5, 5, 1, 3, 4, 3