前言
个人觉得np.random.choice()功能更加强大,random.sample()可以做到的,前者都可以做到。
numpy
这个函数非常有用,可以从一个列表中抽样。
其一共有4个参数:
choice(a, size=None, replace=True, p=None)
a :列表或者整数
若为整数,则等价于一个列表,因为函数会自动先把整数a变成列表np.arange(a)
总之,其实就是一个列表。
size : 整数或元组
整数表示需要从列表a中抽样多少个元素。
元组(m, n, k)表示抽样m * n * k的元素。
replace : 布尔值
是否为有放回抽样
p : 列表
对列表a每一个元素赋予被抽取的概率。
栗子:从列表a中有放回抽样4个元素。
a=[1,2,3,4,5,6]
print("抽样结果:")
print(np.random.choice(a,4,replace=True))
random.sample()
import random
random.sample([1,1,2],2)#强制为不放回抽样,而且是均匀抽样。