目录
1. 函数简介
2. 使用例子
numpy中的np.random.choice(arr,size=None,replace=True,p=None),通过给定的一维数组数据产生随机采样。
参数:
返回值:
samples:单一数值或ndarray
import numpy as np
#从0-4中等概率采样3个数 可以重复
print(np.random.choice(5,3))
#从0-4中等概率采样3个数 不可以重复
print(np.random.choice(5,3,replace=False))
#注意不放回采样时 size不能比arr数组大
#print(np.random.choice(5,6,replace=False))
#从0-4中以指定概率采样3个数
print(np.random.choice(5,3,p=[0.1,0.1,0.1,0.3,0.4]))
#从0-4中以指定概率采样3个数 不重复
print(np.random.choice(5,3,p=[0.1,0.1,0.1,0.3,0.4],replace=False))
#也可以采样得到一个多维数组 用size指定多维数组大小 默认可重复 等概率
print(np.random.choice(5,(2,2)))
print("---------------")
print(np.random.choice(10,(2,2,3)))
#size=1时 返回一个包含一个采样点的一维数组
print(np.random.choice(5,1))
#size为默认值时 返回一个数值
print(np.random.choice(5))
#size=0 返回一个空数组
print(np.random.choice(5,0))
#arr也可以是某个一维数组或列表
print(np.random.choice([0,100,44,1,55,11],3))
#一维数组或列表也可以是任意类型 不一定为整型
print(np.random.choice(['alice','bob','dancy','baby'],2,replace=False,p=[0.3,0.3,0.2,0.2]))
#实际使用时 一般先创建一个mask 然后对数据进行采样
length = len(data)
mask = np.random.choice(length,size)
data1 = data[mask]