这篇教程numpy.random.choice()函数详解写得很实用,希望能帮到您。 处理数据时我们经常需要从数组中随机抽取元素,这时候我们可以考虑使用np.random.choice()函数 语法格式 numpy.random.choice(a, size=None, replace=True, p=None) 参数说明 a:如果a是一维数组,就表示从这个一维数组中随机采样;如果a是整数,就表示从0到a-1这个序列中随机采样 size: 从a中选取size个数(采样结果的数量,以概率p随机选取大小为size的数据) replace:布尔值,表示是否重用元素,即抽取出来的数据是否放回原数组中,默认为True(抽取出来的数据有重复) p:一个一维数组,其与数组a相对应,表示取数组a中每个元素的概率,默认p=None表示选取的每个元素的概率相同
1.参数a如果参数a=5,表示在[0, 5)中随机输出一个随机数 import numpy as npnp.random.choice(5) # 3 如果参数a = ['Guangzhou', 'Beijing', 'Shanghai', 'Shenzhen'],表示在['Guangzhou', 'Beijing', 'Shanghai', 'Shenzhen']中随机输出一个随机数 import numpy as npa = ['Guangzhou', 'Beijing', 'Shanghai', 'Shenzhen']np.random.choice(a) # 'Shenzhen'
2.参数size在[0, 5)内输出3个数字并组成一维数组(ndarray) import numpy as npnp.random.choice(5, 3) # array([3, 2, 3]) 在['Guangzhou', 'Beijing', 'Shanghai', 'Shenzhen']内输出3个值并组成一维数组(ndarry) import numpy as npa = ['Guangzhou', 'Beijing', 'Shanghai', 'Shenzhen']# array(['Shanghai', 'Shenzhen', 'Shanghai'], dtype='<U9')np.random.choice(a, size=3)
3.参数replacereplace=False表示非放回采样(不会出现重复的元素) import numpy as np# array([4, 0, 3])np.random.choice(a=5, size=3, replace=False, p=None) replace=True表示放回采样(会出现重复的元素) import numpy as np# array([1, 0, 0])np.random.choice(a=5, size=3, replace=True, p=None)
4.参数p参数p实际是个数组,数组元素的个数应该与指定的参数a相同,用来规定选取a中每个元素的概率,默认概率相同,我们可以使用参数p来按概率生成随机数 例子1 import numpy as np# array([3, 4, 3], dtype=int64)np.random.choice(5, 3, p=[0.1, 0.2, 0.3, 0.1, 0.3]) 上述代码表示分别以p=[0.1, 0.2, 0.3, 0.1, 0.3]的概率从[0,1,2,3,4]这四个数中选取3个数 例子2 每天参加体育锻炼的时间是多少? A.没时间锻炼 B.10-20分钟 C.20-40分钟 D.50分钟以上
假设有100人填上述选择题,该题共有4个选项(ABCD),我们如何按概率控制这100个人选择A的概率是0.3,B的概率是0.3,C的概率0.3,D的概率是0.1? import numpylists = []for i in range(1, 101): r = numpy.random.choice(a=numpy.arange(1,5), p=[0.3, 0.3, 0.3, 0.1]) lists.append(r)A = 0B = 0C = 0D = 0'''数字1代表A数字2代表B数字3代表C数字4代表D'''for i in lists: if i == 1: A = A + 1 elif i == 2: B = B + 1 elif i == 3: C = C + 1 elif i == 4: D = D + 1print("A选项个数:", A)print("B选项个数:", B)print("C选项个数:", C)print("D选项个数:", D) 结果如下所示 A选项个数: 27 B选项个数: 26 C选项个数: 36 D选项个数: 11
到此这篇关于numpy.random.choice()函数的文章就介绍到这了,更多相关numpy.random.choice()函数内容请搜索wanshiok.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持wanshiok.com! Python中如何将Tqdm与Asyncio结合使用呢 Django权限系统auth模块用法解读 |