numpy的随机数组

1.numpy.random.rand()

  创建指定大小的随机数组,取值范围[0,1)

import numpy as np

# 创建2行2列取值范围为[0,1)的数组
arr = np.random.rand(2,2)

  或

import numpy as np

# 创建一维数组,元素个数为10,取值范围为[0,1)
arr1 = np.random.rand(10)

2.numpy.random.randn()

  创建指定大小的数组,取值范围为标准正态分布

# 创建2行3列,取值范围为标准正态分布的数组
arr2 = np.random.randn(2,3)

3.numpy.random.randint()

  创建指定大小的数组,数组数值随机取于[low,high)之间。high为空时则取[0,low)。需要用到size属性指定数组大小。

arr3 = np.random.randint(1,20,size=(2,2,3))

4.numpy.random.choice()

  numpy.random.choice(a, size=None, replace=True, p=None)

  a:指定的一维数组或者整数。如果是整数,则该方法等同于np.arange(a)

  size:数组大小

  replace:生成的数组中元素是否可以重复。默认为True,即可以重复

  p:一维数组中每个元素出现的概率

5.numpy.random.shuffle()

  将数组中的元素打乱。

arr4 = np.random.shuffle(arr1)

6.numpy.random.seed()

  生成随机数种子

# 生成一个随机数种子为seed1,参数可自己随意设定
np.random.seed(seed1)

  它的作用是让下一次生成的随机数组与随机数种子关联,如果随机数组关联的随机数种子是一样的,且数组大小一样,则随机数组也是一样的。关联的做法就是在之前加上np.random.seed(seed1)。

  简单地理解就是:在关联同一个随机数种子的前提下,第一次生成的数组其元素大小是随机的(当然是在指定的大小范围内),其后生成的随机数组与第一次生成的数组的位置重叠部分,其元素是相同的,如果有扩展,则按随机原则生成。其本质是在随机前提下消除一定地随机性。

原文地址:https://www.cnblogs.com/jason--/p/11567316.html

时间: 2024-08-07 15:33:03

numpy的随机数组的相关文章

numpy生成随机数组

python想要生成随机数的话用使用random库很方便,不过如果想生成随机数组的话,还是用numpy更好更强大一点. 生成长度为10,在[0,1)之间平均分布的随机数组: rarray=numpy.random.random(size=10) 或者 rarray=numpy.random.random((10,)) 生成在-0.1到0.1之间的平均分布: rarray=0.2*numpy.random.random(size=10)-0.1 或者 rarray=numpy.random.uni

numpy生成随机数组,超几何分布与连续分布

有关随机数的函数可以在NumPy的random模块中找到 随机数发生器的核心算法是基于马特赛特旋转演算法 二项分布是n个独立重复的是/非试验中成功次数的离散概率分布. 抛硬币 Key_Function np.random.binomial函数, 参数为区间, 概率, 次数, 用于模拟二项分布 Code import numpy as np import matplotlib.pyplot as plt cash = np.zeros(10000) # 生成10000个0的数组 cash[0] =

《利用Python进行数据分析·第2版》第四章 Numpy基础:数组和矢量计算

<利用Python进行数据分析·第2版>第四章 Numpy基础:数组和矢量计算 numpy高效处理大数组的数据原因: numpy是在一个连续的内存块中存储数据,独立于其他python内置对象.其C语言编写的算法库可以操作内存而不必进行其他工作.比起内置序列,使用的内存更少(即时间更快,空间更少) numpy可以在整个数组上执行复杂的计算,而不需要借助python的for循环 4.0 前提知识 数据:结构化的数据代指所有的通用数据,如表格型,多维数组,关键列,时间序列等 相关包:numpy pa

NumPy | 05 创建数组

ndarray 数组除了可以使用底层 ndarray 构造器来创建外,也可以通过以下几种方式来创建. 一.numpy.empty numpy.empty 方法用来创建一个指定形状(shape).数据类型(dtype)且未初始化的数组: numpy.empty(shape, dtype = float, order = 'C') 参数说明: 参数 描述 shape 数组形状 dtype 数据类型,可选 order 有"C"和"F"两个选项,分别代表,行优先和列优先,在

随机数组求和

题目要求: 随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中. 设计思路:     创建一个长度为10的double型数组,调用Java.util.Random包定义Random对象,利用方法nextInt(100);在通过for循环.Random类进行随机数赋值得到1-100间的随机数.在将数组里的数相加.最后在用JOptionPane.showMesssageDialog进行消息框输出. 程序流程图: 源程序代码: package qaq

生成随机数组

不多说,直接上代码测试,之前在网上看到一个生成随机数组,写的实在不怎么样,下面是我的方式,有谁有更好的方式,可以交流一下 C代码:很快很快的 #include <stdio.h> #include <stdlib.h> #include <time.h> void main() { long last = 1000000; long *arr=(long *)malloc(last*sizeof(long)); long *brr=(long *)malloc(last

JavaScript 实现彩票中随机数组的获取

1.效果图: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Math.random方法彩票随机数的生成</title> </head> <body> <!-- 设置样式 --> <input type="text" id="text

如何更高效率的生成随机数组

现在我们有一个需求:生成长度为100的随机数组(数值范围0~99),数值无重复. 通常方法: var _len = 100, _arrUsedFlag = [],_arrR=[]; for(var i=0;i<_len;i++){//初始化标志位数组,表示第N个数组是否已经被生成过 _arrUsedFlag.push(false); } i=0; for(;i<_len;i++){ var _isNewNum=false; //如果没有生成不重复的随机数,循环 while(_isNewNum=

产生一个不重复的随机数组(元素各不相同的随机数组)的算法

产生一个 由0到99之间的数组成,元素各不相同的无序的一个长度为100的数组. 其实换句话说,就是把一个 由0到100之间的一个 连续的数组给打散. 由三种方式. 一:使用List 和随机数 //  long s1 = System.currentTimeMillis();  //  List ar = new ArrayList();   //   for (int i = 0; i < 100000; i++) { //    ar.add(i); //   }   //   int []