python代码,如何通过numpy获得一系列随机数?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
本文描述使用numpy
生成随机数的方式,这个随机数的生成和往常的随机数生成的概念区别较大。本文的这些随机数生成函数,得到的并不是一个随机数,而是一组随机数。这个就是和普通的随机数生成函数最大的区别所在。
大家好,这里是苏南大叔的程序如此灵动博客,记录的是苏南大叔和计算机代码的故事。本文介绍numpy
库中的三个随机数函数,分别是:random.rand
,random.randn
,random.randint
。测试环境:win10
,python@3.6.8
,numpy@1.19.5
,pandas@1.1.5
。
普通随机数
普通的随机数,测试代码如下:
import random
random.randint(1, 50)
random.choice("中国字abc")
''.join(random.sample("abcdefg123456", 3))
具体可以参考:
引入numpy
引入numpy
和pandas
,numpy
是主角,pandas
是个龙套。
import numpy as np
import pandas as pd
print(np.__version__)
print(pd.__version__)
numpy.random.rand/randn
这里使用random.rand(行,列)
或者random.randn(行,列)
,来生成一个随机数的矩阵。
r0 = np.random.rand(5, 3)
r1 = np.random.randn(5, 3)
df = pd.DataFrame(r1, columns=['red', 'green', 'blue'])
print(type(df))
print(df)
这两个函数是有区别的:
random.rand
是随机生成范围为(0,1)的数据。random.randn
是生成服从标准正太分布的数据,其实就是生成的的数里面,有正数也有负数。
numpy.random.randint
random.randint(min,max,size)
,看起来是个没有啥用的函数。返回了size
个随机数字,而且随机数字还可以重复,重复的数字索引,有啥用呢?欢迎大家留言。
_list = np.random.randint(0, 5, size=3) # [0 3 3]
_list = np.random.randint(0, 5, 3) # [0 3 3]
_df = df.take(_list)
print(_list)
print(_df)
.take(索引数组)
功能,就是取"索引数组"位置的数据。
size
有好几个取值:
- 不设置,就是默认返回一个随机整数。
- 设置为整数,就是返回{size}个随机整数。
- 设置为tuple,比如
(2,3)
。就是返回指定形状的一组随机整数。
相关文章
- https://newsn.net/say/python-def.html
- https://newsn.net/say/python-dir.html
- https://newsn.net/say/python-set-diff.html
综述
也没有啥好总结的,随机数矩阵似乎用途也不大,生成的随机数矩阵也似乎没有啥用。必须配合pandas
使用,才有使用意义。更多python
经验文章,请点击:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。