栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python之random函数和numpy.random函数

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python之random函数和numpy.random函数

一 random函数 import random

1 random.random()
返回 0 到 1 之间的随机浮点数

import random

print(random.random())
print(random.random())

输出:
0.2831151154910224
0.6269681011181751



2 random.uniform(a, b)
返回 a 与 b 之间的随机浮点数N

# a 比 b 的值小
n1 = random.uniform(50, 100)

# a 比 b 的值大
n2 = random.uniform(100, 50)

print(n1, n2)

输出
64.61232176770227 97.95899400967602



3 random.randint(a,b)
返回一个随机整数N
注:a 和 b 的取值必须为整数,并且a 的值一定要小于 b 的值

4 random.randrange([start], stop[, step])
返回指定递增基数集合中的一个随机数
start默认值为1;包左不包右

print(random.randrange(10, 100, 2))
# 相当于从10到98的偶数当中随机选取一个数

5 random.choice(sequence)
从sequence中返回一个随机数
sequence 参数可以是列表、元组或字符串

print(random.choice("学习 python"))

print(random.choice(["JGood", [0], "is", "a", [0], "handsome", "boy"]))

print(random.choice(("Tuple", [0], "List", "Dict")))

输出:
n
boy
[0]

6 random.shuffle(X[,random])
用于将列表中的元素打乱顺序,俗称“洗牌”

7 random.sample(squence, K)
从指定序列中随机获取 K 个元素作为一个片段返回

list_num =[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 定义temp为随机在list_num中获取的3个元素
temp = random.sample(list_num, 3)
print(temp)

输出:
[6, 2, 7]

二 Numpy中的random import numpy as np

1 numpy.random.rand(d0,d1,…,dn)
rand函数根据给定维度生成**[0,1)之间**的数据,包含0,不包含1
dn表格每个维度
返回值为指定维度的array

import numpy as np

# 4行2列的随机数数组
print(np.random.rand(4, 2))

输出:
[[0.49794444 0.39348089]
[0.84257914 0.87682775]
[0.03353198 0.10316628]
[0.73273715 0.91094723]]

2 numpy.random.randn(d0,d1,…,dn)
randn函数返回一个或一组样本,具有标准正态分布。
dn表格每个维度
返回值为指定维度的array

3 numpy.random.randint(low, high=None, size=None, dtype=’l’)
返回随机整数,范围区间为[low,high),包含low,不包含high
参数:low为最小值,high为最大值,size为数组维度大小,dtype为数据类型,默认的数据类型是np.int
high没有填写时,默认生成随机数的范围是[0,low)

# 返回[0, 1)之间的整数 维度是5*1
print(np.random.randint(1, size=5))
# 返回1个[1, 5)之间的随机整数
print(np.random.randint(1,5))
# 返回[-5, 5)之间的整数 维度是2*2
print(np.random.randint(-5, 5, size=(2,2)))

输出:
[0 0 0 0 0]
2
[[ 4 0]
[ 3 -4]]

4 生成[0,1)之间的浮点数
numpy.random.random_sample(size=(a, b))
numpy.random.random(size=(a, b))
numpy.random.ranf(size=(a, b))
numpy.random.sample(size=(a, b))

5 numpy.random.choice(a, size=None, replace=True, p=None)
从给定的一维数组中生成随机数
参数: a为一维数组类似数据或整数;size为数组维度;p为数组中的数据出现的概率
a为整数时,对应的一维数组为np.arange(a)

# 返回0到5之间的数 维度3*1
print(np.random.choice(5, 3))
# 返回0到5之间的数 维度3*1 不能有重复
print(np.random.choice(5, 3, replace=False))

demo_list = ['lenovo', 'sansumg', 'moto', 'xiaomi', 'iphone']
print(np.random.choice(demo_list, size=(3, 3)))

输出:
[1 3 2]
[3 2 0]
[[‘moto’ ‘xiaomi’ ‘moto’]
[‘iphone’ ‘sansumg’ ‘sansumg’]
[‘moto’ ‘moto’ ‘lenovo’]]

6 np.random.seed()
使得随机数据可预测。
当我们设置相同的seed,每次生成的随机数相同。如果不设置seed,则每次会生成不同的随机数

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1037923.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号