Python+random模块实现随机抽样

目录
  • 1. 设置随机数种子 seed()
  • 2. random() 与 randint()
  • 3. sample()方法 无放回抽样
  • 4. choice() 与 choices() 有放回抽样
  • 5. shuffle()方法
  • 6. 猜拳小案例

python的random库,提供了很多随机抽样方法。

1. 设置随机数种子 seed()

在适当的情形下,为例保证抽样的结果固定,不因多次运行而改变,可以设置随机数种子。

如果不设置则是以当前系统时间作为随机数种子。

设置随机数种子使用的是random.seed()方法。代码示例如下。

import random
random.seed(100)

在jupyternotebook中,seed的影响范围只限于每个代码格子内。

2. random() 与 randint()

random库的random()函数,作为该模块中其他随机方法的基础。

可以在区间 [0.0, 1.0) 内随机生成一个浮点数。

如果想要产生其他范围内的浮点数,则可以使用random.uniform(a,b)方法,

以产生[a,b]范围内一个随机浮点数。

具体示例如下:

random.random()

random库的randint()方法则可以在给定区间内随机生一个整数。(左右边界值都可以取)

random.randint(1,2)

输出效果如下图所示:

此外,如果使用random.randrange(a,b,step)方法,则还可以在原有基础上,限制range的步长,再取整数。

3. sample()方法 无放回抽样

sample()方法可以从给定序列中随机抽取n个元素(无放回抽样。)

该方法语法如下:

random.sample(population,k)

random.seed(13)
listA = ["a", "b", "c"]
random.sample(listA,2)

4. choice() 与 choices() 有放回抽样

choice() 与 choices()可以实现从给定的序列中进行有放回地随机抽样。

其中chioce()只抽一次,而choices() 表示抽取多次。

random.choices()方法的语法如下:

random.choices(population,weights=None,*,cum_weights=None,k=1)

import random

listA = ["a", "b", "c"]
print(random.choice(listA))
print(random.choices(listA, k=2))

5. shuffle()方法

shuffle()方法可以实现,对序列的随机排序,即打乱原有序列。

random.seed(13)
listA = ["a", "b", "c"]
random.shuffle(listA)
listA

6. 猜拳小案例

看似简单朴实的案例,往往蕴含着许多值得参考和借鉴的细节。

以猜拳小游戏案例为例,要求是玩家对电脑,电脑随机出,玩家以输入的方式。

import random
while 1:
    s = int(random.randint(1, 3))
    if s == 1:
        ind = "石头"
    elif s == 2:
        ind = "剪子"
    elif s == 3:
        ind = "布"
    m = input('【猜拳游戏】输入 石头、剪子、布猜拳,输入"end"结束游戏:\n')
    blist = ["石头", "剪子", "布"]
    if (m not in blist) and (m != 'end'):
        print ("输入错误,请重新输入!")
    elif (m not in blist) and (m == 'end'):
        print ("\n游戏退出中...")
        print("已退出")
        break
    elif m == ind :
        print ("电脑出了: " + ind + ",平局!")
    elif (m == '石头' and ind =='剪子') or (m == '剪子' and ind =='布') or (m == '布' and ind =='石头'):
        print ("电脑出了: " + ind +",你赢了!")
    elif (m == '石头' and ind =='布') or (m == '剪子' and ind =='石头') or (m == '布' and ind =='剪子'):
        print ("电脑出了: " + ind +",你输了!")

到此这篇关于Python+random模块实现随机抽样的文章就介绍到这了,更多相关Python random随机抽样内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python标准库random模块处理随机数

    目录 前言 1. 常用函数 2. 不常用函数 3. 使用示例 3.1 生成随机密码 前言 random模块实现了各种分布的伪随机数生成器. 伪随机数:人类使用算法等方式,以一个基准(也被称为种子,常用的是时间戳)来构造一系列数字,这些数字的特性符合人们所理解的随机数.一旦算法和种子都确定,产生的随机数序列也是确定的,所以称为伪随机数. 1. 常用函数 常用函数 说明 random.seed(a) 设置初始化随机种子,可输出相同随机数序列:a取整数或浮点数,不设置时默认以系统时间为种子 rando

  • Python实现8种常用抽样方法

    今天来和大家聊聊抽样的几种常用方法,以及在Python中是如何实现的. 抽样是统计学.机器学习中非常重要,也是经常用到的方法,因为大多时候使用全量数据是不现实的,或者根本无法取到.所以我们需要抽样,比如在推断性统计中,我们会经常通过采样的样本数据来推断估计总体的样本. 上面所说的都是以概率为基础的,实际上还有一类非概率的抽样方法,因此总体上归纳为两大种类: 概率抽样:根据概率理论选择样本,每个样本有相同的概率被选中. 非概率抽样:根据非随机的标准选择样本,并不是每个样本都有机会被选中. 概率抽样

  • python实现的分层随机抽样案例

    昨天写了一段用来做分层随机抽样的代码,很粗糙,不过用公司的2万名导购名单试了一下,结果感人,我觉得此刻的我已经要上天了,哈哈哈哈哈哈 代码如下: #分层随机抽样 stratified sampling import xlrd, xlwt, time, random xl = xlrd.open_workbook(r'C:\Users\Administrator\Desktop\分层抽样.xlsx') xl_sht1 = xl.sheets()[0] xl_sht1_nrows = xl_sht1

  • Python中的随机函数random详解

    目录 常规用法 使用案例: 常规用法 用法 作用 random() 返回0<=n<1之间的随机浮点数n random.uniform(a, b) 用于生成一个指定范围内的随机符点数 random.randint(a, b) 用于生成一个指定范围内的整数 random.randrange([start], stop[, step]) 从指定范围内,按指定基数递增的集合中 获取一个随机数 choice(seq) 从序列seq中返回随机的元素 shuffle(seq[, random]) 原地指定s

  • python中的随机数 Random介绍

    目录 一.random模块简介 二.random模块重要函数 (1)random.random()函数 (2)random.randint()函数 (3)random.uniform()函数 (4)random.randrange()函数 (5)random.choice()函数 (6)random.shuffle()函数 (7)random.sample()函数 一.random模块简介 Python标准库中的random函数,可以生成随机浮点数.整数.字符串,甚至帮助你随机选择列表序列中的一

  • Python学习之随机模块random详解

    目录 random.random() random.uniform() random.randint() random.choice() random.sample() random.randrange() random 模块 - 抽奖小案例 random 模块 - 双色球小案例 该章节我们来学习一下 Python 中非常简单但也非常有用的模块 —> random ,此模块主要用于生成随机数.接下面我们就来了解一下 random 模块中最常见的几种方法. random.random() 功能:随

  • Python+random模块实现随机抽样

    目录 1. 设置随机数种子 seed() 2. random() 与 randint() 3. sample()方法 无放回抽样 4. choice() 与 choices() 有放回抽样 5. shuffle()方法 6. 猜拳小案例 python的random库,提供了很多随机抽样方法. 1. 设置随机数种子 seed() 在适当的情形下,为例保证抽样的结果固定,不因多次运行而改变,可以设置随机数种子. 如果不设置则是以当前系统时间作为随机数种子. 设置随机数种子使用的是random.see

  • Python random模块用法解析及简单示例

    用法示例: import random # 1)随机小数 print(random.random()) # 获取大于0且小于1 之间的小数 random.random() print(random.uniform(1, 4)) # 获取大于1小于3的小数 # 2)随机整数 print(random.randint(1, 9)) # 获取大于等于1且小于等于9之间的整数 print(random.randrange(1, 9)) # 获取大于等于1且小于9之间的整数 print(random.ra

  • 对Python random模块打乱数组顺序的实例讲解

    在我们使用一些数据的过程中,我们想要打乱数组内数据的顺序但不改变数据本身,可以通过改变索引值来实现,也就是将索引值重新随机排列,然后生成新的数组.功能主要由python中random模块的sample()函数实现. sample(population, k) method of random.Random instance Chooses k unique random elements from a population sequence or set. 下面的代码实现的是打乱iris数据,i

  • Python random模块制作简易的四位数验证码

    先给大家介绍下python中random模块 random与numpy.random对比: 1.random.random():生成[0,1)之间的随机浮点数: numpy.random.random():生成[0,1)之间的随机浮点数: numpy.random.random(size=(2,2)),生产一个2维的随机数组,每维2个随机数,数据区间[0,1) 2.random.randint(a,b):生产[a,b]之间的随机整数; numpy.random.random(1,5,5):返回一

  • Python random模块的使用示例

    常用的 random 模块方法 import random # random.random()用于生成一个 0 到 1 的随机浮点数: 0 <= n < 1.0 print(random.random()) # 0.18246795790915304 # random.randint(a, b),用于生成一个指定范围内的整数. # 其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b print(random.randint(1, 10)) # 8 # rand

  • Python random模块(获取随机数)常用方法和使用例子

    random.randomrandom.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 random.uniformrandom.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限.如果a > b,则生成的随机数n: a <= n <= b.如果 a <b, 则 b <= n <= a 复制代码 代码如下: print random.uniform(10, 20)print rand

  • Python random模块常用方法

    复制代码 代码如下: import random print random.random() 获取一个小于1的浮点数 复制代码 代码如下: import random random.randint(1,10) 获取一个从1到10的整数 复制代码 代码如下: import random print random.uniform(0,2) 获取一个大于0小于2的浮点数 复制代码 代码如下: import random print random.randrange(1,10,4) 获取一个从1到10步

  • Python random模块的运用详解

    目录 1.随机取小数: 2.整数的随机选取: 3.随机列表取数,元素打乱: 总结 1.随机取小数: import random print(random.runiform(a,b)) #a-b之间小数的选取 print(random.random()) #0-1之间小数随机选取 输出:0.03815542754382306 print(random.uniform(2,4)) 输出:3.560120761832978 2.整数的随机选取: import random print(random.r

  • Python实现简单生成验证码功能【基于random模块】

    本文实例讲述了Python实现简单生成验证码功能.分享给大家供大家参考,具体如下: 验证码一般用来验证登陆.交易等行为,减少对端为机器操作的概率,python中可以使用random模块,char()内置函数来实现一个简单的验证码功能. import random def veri_code(): li = [] for i in range(6): #循环6次,生成6个字符 r = random.randrange(0, 5) #随机生成0-4之间的数字 if r == 1 or r == 4:

  • Python中random模块常用方法的使用教程

    前言 Python 的random模块包含许多随机数生成器. random是Python标准库之一,直接导入即可使用.本文介绍random中常用方法的用法. 一.生成随机的整数 # coding=utf-8 import random print(random.randint(1, 5)) print(random.randrange(0, 51, 5)) 运行结果: 3 40 randint(start, end)会返回一个start到end之间的整数,这里是左闭右闭区间.也就是说可能会返回e

随机推荐