import numpy 和 from numpy import * 的区别及random所有常用函数!!

首先假设你使用import numpy,则当你使用numpy库中的的函数/变量都需要在前面加上numpy,例如

import numpy
X0 = numpy.array([1,2,3,4,5])
print(X0)

from numpy import *
X1 = array([1,2,3,4,5])
print(X1)

因此这样就存在一个缺点,在使用第二种方法时会造成混淆,就比如在numpy中有random函数,但标准库(import random)中也存在random函数,他们之间的区别如下:

1. 标准库中的random
random函数是python中封装好的函数,作为随机生成一些数必不可少的函数,通常用于单个随机浮点数的产生,有许多的使用方法;

random.random()
random.randint(m,n)
random.randrange(m=0,n,step=1)
random.uniform(m,n)
random.choice(n)

2. numpy库中的random
而在numpy包里有自己的random函数,与标准库的random函数不同,由于numpy是计算矩阵的工具包,所以多数用来生成矩阵形式的数;就比如:

np.random.random(n)
#只接受一个参数n,用来生成n维,取值范围[0,1)均匀分布的随机样本
np.random.randint(low=0,high,size=None)
#用来随机生成取值范围[low,high)(low默认从0开始),size=(m,n)表示m行n列的整数,size=n表示有多少维度
np.random.rand(m,n)
#用来生成m行,n列,取值范围[0,1)均匀分布的随机样本值;当参数只传递一个时,与np.random.random(n)的结果相同;不传递参数时,默认随机产生一个范围为[0,1)的一个样本
np.random.randn(m,n) 
#用来生成m行,n列,从服从标准正态分布N(0,1)(期望μ=0,方差σ=1)中选取的样本值
np.random.seed(n),可传一个任意参数n
#np.random.seed()用来设置随机数生成的随机种子。在seed(n)中,当n的值相同时,生成的随机数相同,其中的n为整数,若想每次生成的数组相同的话,必须在np.random.random(n)之前申明与之前相同的np.random.seed(n)

混淆的解决方法:
在上述代码中我们使用的np来代替numpy,这是我们常用的手段,使用import numpy as np,调用的时候这样使用np.random,既不会混淆每个库同名的函数,也不会因为库名太长每次调用写起来麻烦。

以上两种方法产生随机数的原理在此就不再解释了,有兴趣的同学可以自行探索一下。

你可能感兴趣的:(Python学习,python,random)