在数据分析中,数据的获取是第一步,numpy.random 模块提供了非常全的自动产生数据API,是学习数据分析的第一步。

总体来说,numpy.random模块分为四个部分,对应四种功能:

简单随机数: 产生简单的随机数据,可以是任何维度

排列:将所给对象随机排列

分布:产生指定分布的数据,如高斯分布等

生成器:种随机数种子,根据同一种子产生的随机数是相同的

1. 生成器

电脑产生随机数需要明白以下几点:

随机数是由随机种子根据一定的计算方法计算出来的数值。所以,只要计算方法一定,随机种子一定,那么产生的随机数就不会变。

只要用户不设置随机种子,那么在默认情况下随机种子来自系统时钟(即定时/计数器的值)

随机数产生的算法与系统有关,Windows和Linux是不同的,也就是说,即便是随机种子一样,不同系统产生的随机数也不一样。

numpy.random 设置种子的方法有:

函数名称函数功能参数说明

RandomState

定义种子类

RandomState是一个种子类,提供了各种种子方法,最常用seed

seed([seed])

定义全局种子

参数为整数或者矩阵

2. 简单随机数

函数名称函数功能参数说明

rand(d0, d1, …, dn)

产生均匀分布的随机数

dn为第n维数据的维度

randn(d0, d1, …, dn)

产生标准正态分布随机数

dn为第n维数据的维度

randint(low[, high, size, dtype])

产生随机整数

low:最小值;high:最大值;size:数据个数

random_sample([size])

在[0,1)内产生随机数

size:随机数的shape,可以为元祖或者列表,[2,3]表示2维随机数,维度为(2,3)

random([size])

同random_sample([size])

同random_sample([size])

ranf([size])

同random_sample([size])

同random_sample([size])

sample([size]))

同random_sample([size])

同random_sample([size])

choice(a[, size, replace, p])

从a中随机选择指定数据

a:1维数组 size:返回数据形状

bytes(length)

返回随机位

length:位的长度

python生成随机数、随机字符串

import random

import string

# 随机整数:

print random.randint(1,50)

# 随机选取0到100间的偶数:

print random.randrange(0, 101, 2)

#随机产生范围内数字

random.randrange(1000,2000)

# 随机浮点数:

print random.random()

print random.uniform(1, 10)

# 随机字符:

print random.choice('abcdefghijklmnopqrstuvwxyz!@#$%^&*()')

# 多个字符中生成指定数量的随机字符:

print random.sample('zyxwvutsrqponmlkjihgfedcba',5)

----->>[w],[e],[r],[t]

#Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。

import random

import numpy as np

b=(random.sample('zyxwv1684365136461utsrqp1234567890onmlkjihgfedcba',4))

print("".join(b))

---->>w68f

# 从a-zA-Z0-9生成指定数量的随机字符:

ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 8))

print ran_str

# 多个字符中选取指定数量的字符组成新字符串:

prin ''.join(random.sample(['z','y','x','w','v','u','t','s','r','q','p','o','n','m','l','k','j','i','h','g','f','e','d','c','b','a'], 5))

# 随机选取字符串:

print random.choice(['剪刀', '石头', '布'])

# 打乱排序

items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

print random.shuffle(items)

#产生2行三列均匀分布随机数组

print random.rand(2,3)

#三行三列正态分布随机数据

print random.randn(3,3) #

#(1,100)以内的5行5列随机整数

print random.randint(1,100,[5,5]) #

#以内10个随机浮点数

print random.random(10) #(0,1)

#内随机选择一个数

3. 分布

numpy.random模块提供了产生各种分布随机数的API:

函数名称函数功能参数说明

beta(a, b[, size])

贝塔分布样本,在 [0, 1]内。

binomial(n, p[, size])

二项分布的样本。

chisquare(df[, size])

卡方分布样本。

dirichlet(alpha[, size])

狄利克雷分布样本。

exponential([scale, size])

指数分布

f(dfnum, dfden[, size])

F分布样本。

gamma(shape[, scale, size])

伽马分布

geometric(p[, size])

几何分布

gumbel([loc, scale, size])

耿贝尔分布。

hypergeometric(ngood, nbad, nsample[, size])

超几何分布样本。

laplace([loc, scale, size])

拉普拉斯或双指数分布样本

logistic([loc, scale, size])

Logistic分布样本

lognormal([mean, sigma, size])

对数正态分布

logseries(p[, size])

对数级数分布。

multinomial(n, pvals[, size])

多项分布

multivariate_normal(mean, cov[, size])

多元正态分布。

negative_binomial(n, p[, size])

负二项分布

noncentral_chisquare(df, nonc[, size])

非中心卡方分布

noncentral_f(dfnum, dfden, nonc[, size])

非中心F分布

normal([loc, scale, size])

正态(高斯)分布

pareto(a[, size])

帕累托(Lomax)分布

poisson([lam, size])

泊松分布

power(a[, size])

Draws samples in [0, 1] from a power distribution with positive exponent a - 1.

rayleigh([scale, size])

Rayleigh 分布

standard_cauchy([size])

标准柯西分布

standard_exponential([size])

标准的指数分布

standard_gamma(shape[, size])

标准伽马分布

standard_normal([size])

标准正态分布 (mean=0, stdev=1).

standard_t(df[, size])

Standard Student’s t distribution with df degrees of freedom.

triangular(left, mode, right[, size])

三角形分布

uniform([low, high, size])

均匀分布

vonmises(mu, kappa[, size])

von Mises分布

wald(mean, scale[, size])

瓦尔德(逆高斯)分布

weibull(a[, size])

Weibull 分布

zipf(a[, size])

齐普夫分布

#正态分布

import numpy as np

import matplotlib.pyplot as plt

mu = 1 #期望为1

sigma = 3 #标准差为3

num = 10000 #个数为10000

rand_data = np.random.normal(mu, sigma, num)

count, bins, ignored = plt.hist(rand_data, 30, normed=True)

plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) *np.exp( - (bins - mu)**2 / (2 * sigma**2)), linewidth=2, color='r')

plt.show()

4. 排列

函数名称函数功能参数说明

shuffle(x)

打乱对象x(多维矩阵按照第一维打乱)

矩阵或者列表

permutation(x)

打乱并返回该对象(多维矩阵按照第一维打乱)

整数或者矩阵

#正态分布

import numpy as np

rand_data = np.random.randint(1, 10, (3, 4))

print(rand_data)

np.random.shuffle(rand_data)

print(rand_data)

out:

[[4 4 4 8]

[5 6 8 2]

[1 7 6 6]]

[[4 4 4 8]

[1 7 6 6]

[5 6 8 2]]

#按照行打乱了,也就是交换了行

python随机生成一个数字_python随机生成相关推荐

  1. python请输入一个数字_python里面如何输入数字

    要求:用python写一个要求用户输入数字,如果不是数字就一直循环要求输入,直到输入数字为止的代码 错误打开方式:while True: ten=input('Enter a number:') if ...

  2. python怎么定义一个数字_Python数字变量定义赋值

    一.任务描述 本实验的任务主要对Python的变量赋值进行基本操作,通过完成本实验任务,要求学生熟练掌握Python的变量赋值与定义,并对Python变量的基本操作进行整理并填写工作任务报告. 二.任 ...

  3. python怎么输入一个数字_python怎么输入数字

    在编程中,经常使用数字来记录游戏得分.表示可视化数据.存储Web应用信息等.Python根据数字的用法以不同的方式处理它们.鉴于整数使用起来最简单,下面就先来看看 Python是如何管理它们的. 今天 ...

  4. python列表乘一个数字_python的列表乘以数字

    以不可变对象为元素的列表 a=[1,2] b=a*3 #则b为 [1,2,1,2,1,2] 以可变对象为元素的列表 #如列表以列表为元素 a=[[1]] b=a*3 #则b为 [[1],[1],[1] ...

  5. Python代码实现猜数字游戏随机生成数字进行比对

    Python代码实现猜数字游戏随机生成数字进行比对 import random secret = random.randint(1,10) print("---------------猜数字 ...

  6. python列表乘一个数字

    在学习yolov5的yolo.py文件中的Detect类时,出现python列表乘一个数字,我很久没有碰python代码了,都忘记了,因此这里记录一下: 这里参考文章如下: python 列表乘一个数 ...

  7. Shell编程 ——for循环、if语句、sleep睡眠。——每秒钟生成一个文件,一共生成60个文件

    实践: 每秒钟生成一个文件,一共生成60个文件,文件名格式是"20190101_101010.txt".但是,第10.20秒,不生成文件. #!/bin/sh for((i=0;i ...

  8. python 幂运算 整数_在Python中检查一个数字是否是另一个数字的幂

    python 幂运算 整数 To solve this problem simply, we will use the log() function from the math module. The ...

  9. python 列表乘一个数字

    python 列表乘一个数字 在python中, 如果用一个列表list1乘一个数字n 会得到一个新的列表list2, 这个列表的元素是list1的元素重复n次, 例如 list1 = [0] lis ...

最新文章

  1. 键盘压缩背景,ios滚动不流畅,禁止遮罩层下面内容滚动
  2. python的GUI之Tkinter的Label组件
  3. css阴影属性_第三场阴影场与属性访问器接口
  4. 发动机冷启动和热启动的区别_「牛车实验室」AGM自动启停蓄电池解读 和普通蓄电池到底有什么区别...
  5. MOSS服务器场迁移1-有关切换登录用户时需要刷新一次才能成功的问题
  6. Unsupported major.minor version 51.0 jdk版本错误解决方案 eclipse版
  7. 几何画板要怎样度量直线方程
  8. network 宽带比特b,字节B
  9. unity下载及安装
  10. 手机号码正则_中国大陆手机号码的正则表达式总结ChinaMobilePhoneNumberRegex
  11. asp.net 注册、卸载iis,iis重启命令
  12. VTK系列12_VTK读取PNG图像并显示
  13. Justice 「未见系列 2」随夏而至,总有一款让你心动的配色!
  14. 面向对象-基础语法讲解(案例-烤地瓜、搬家具)
  15. 学校教室计算机室云课堂软件,专注云教室教育培训云课堂的NC个人云桌面
  16. pytorch学习(二)梯度:什么叫梯度?什么叫梯度下降
  17. 用计算机的声音编辑工具录制一段语音信号,传媒2020年7月《影视录音基础》课程考试在线作业考核试题题目【标准答案】...
  18. 服务器验收性能标准,云服务器 验收
  19. 癫痫脑电信号基础知识
  20. “B站”们的服务器藏哪儿了?

热门文章

  1. 计算机与通信专业英语教学大纲,通信工程专业英语教学大纲英文版.docx
  2. 南昌理工学院计算机应用怎么样,南昌理工学院计算机系哪个专业最好
  3. 关于Windows蓝屏6B修复方法的完整全过程
  4. 软件测试 | 测试开发 | 智能音箱语音交互系统简介与测试初探
  5. 两家出版社称考虑将莫言作品编入中学教材-莫言-教材-诺贝尔奖
  6. 万年历-java课程设计题_万年历-Java课程设计题(eclipse编辑器)
  7. 在亲生经历被非法APP诈骗中总结经验教训--网络安全
  8. 钣金cad插件_ug,CAD,SolidWorks,钣金??????非标等设计一站式学习,
  9. 这才是目前百度统计接口的正确打开方式20180322
  10. 计算年增长率c语言用scanf,[转]c语言scanf终极研究