大家好,又见面了,我是你们的朋友全栈君。
python中生成随机数主要使用random模块和numpy库中的random函数。
前者主要用于生成随机数和实现序列中随机数和随机数列的挑选,后者用来生成a*b维的随机矩阵。
一、random模块
random模块中将近有7个函数都是可以用来生成随机数,列举如下:
1. random.random()
功能:随机生成一个[0, 1)的浮点数
示例:
代码语言:javascript复制import random
number = random.random()
print(number)
print('%.2f' % number)
输出:
0.2527991999717836
0.25
2. random.uniform(a, b)
功能:随机生成一个[a, b)的浮点数
3. random.randint(a, b)
功能:随机生成一个[a, b)的整数
4. random.randrange(a, b, step)
功能:在随机生成的以<以a为始,每step递增,以b为终>这样的一个整数序列中随机选择一个数
5. random.choice(sequence)
功能:从一个已有的sequence中随机选择一个元素
6. random.sample(sequence,k)
功能:从某一序列中获取指定长度的片段(随机选取K个,没有顺序)
代码语言:javascript复制import random
sequence=['apple','banana','orange']
l=random.sample(sequence,2)
print(l)
输出:
['orange', 'banana']
7. random.shuffle(列表)
功能:打乱一个列表的元素顺序(打乱的是列表本身,无返回值)
代码语言:javascript复制import random
sequence=['apple','banana','orange']
random.shuffle(sequence)
print(sequence)
输出:
['orange', 'banana', 'apple']
二、numpy中的random函数
1. np.random.randn(a, b)
功能:生成a*b维的随机数,且该数服从标准正太分布(可以有若干个参数)
代码语言:javascript复制import numpy as np
data=np.random.randn(2,3)
print(data)
输出:
[[ 0.59902266 -1.28310532 0.18559999]
[-0.80967754 -0.27517062 -1.29925769]]
2. random.randint(low,high,size)
功能:生成一个<以low为下限,high为上限,size大小>的随机整数矩阵,其中数值范围包含low,不包含high
代码语言:javascript复制data = np.random.randint(low=2,high=5,size=(5,7))
# 输出:
array([[4, 2, 4, 4, 4, 4, 2],
[4, 2, 2, 4, 3, 3, 3],
[3, 4, 3, 4, 3, 3, 4],
[3, 4, 2, 3, 3, 2, 2],
[3, 3, 3, 3, 2, 3, 2]])
总结:
(1)random模块主要用于生成随机数和实现序列中随机数和随机数列的挑选,numpy中的random函数用来生成a*b维的随机矩阵,可区别使用;
(2)一般使用以下两种方法保留小数位数:
代码语言:javascript复制法一:print('%.2f' % number)
法二:print((format(number,'.2f')))
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。