知道你们都还给数学老师了,所以给各位分享下Python科学计算库numpy。numpy离线网盘安装包分享

Python科学计算库NumPy
NumPy能做什么
Numpy(Numerical Python)是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy是一个运行速度非常快的数学库,主要用于数组计算,包含:
一个强大的N维数组对象ndarray;
广播功能函数;
整合C/C++/Fortran代码的工具;
线性代数、傅里叶变换、随机数生成等功能。
NumPy通常与SciPy(Scientific Python)和Matplotlib(绘图库)一起使用,这种组合广泛用于替代MATLAB,是一个强大的科学计算环境,有助于我们通过Python学习数据科学或者机器学习。
百度网盘链接: https://pan.baidu.com/s/1dINp6NDZBlBeFaufWN8sNA
提取码: wnyc
使用NumPy产生随机数
NumPy实现的函数方法有很多,但命运无常,所以咱们今儿就先聊聊如何产生一个随机数。
1.numpy.random.rand(d0, d1, ..., dn)
作用:产生一个给定形状的数组(其实应该是ndarray对象或者是一个单值),数组中的值服从[0, 1)之间的均匀分布。
参数:d0, d, ..., dn : int,可选。如果没有参数则返回一个float型的随机数,该随机数服从[0, 1)之间的均匀分布。
返回值:ndarray对象或者一个float型的值
import numpy as np rand_a=np.random.rand(3,2) print(rand_a) rand_b=np.random.rand() print(rand_b) 执行结果: [[0.42235628 0.0656635 ] [0.50700626 0.98713868] [0.98272455 0.41770722]] 0.6026148436564599
2.numpy.random.random(size=None)
作用:返回从[0, 1)之间均匀抽样的数组,size指定形状。
参数:size:int型或int型的元组,如果不提供则返回一个服从该分布的随机数
返回值:float型或者float型的ndarray对象
random_a=np.random.random((3,2)) print(random_a) random_b=np.random.random() print(random_b) 执行结果: [[0.65555938 0.44013628] [0.37503076 0.42770019] [0.99299092 0.10840853]] 0.8538263017824064
3.numpy.random.uniform(low=0.0, high=1.0, size=None)
作用:返回一个在区间[low, high)中均匀分布的数组,size指定形状。
参数:low, high:float型或者float型的类数组对象。指定抽样区间为[low, high),low的默认值为0.0,hign的默认值为1.0size:int型或int型元组。指定形状,如果不提供size,则返回一个服从该分布的随机数。
uniform_a=np.random.uniform(1,10,(3,2)) print(uniform_a) uniform_b=np.random.uniform(1,10) print(uniform_b) 执行结果 [[5.72569523 6.61286577] [8.86275261 1.84053717] [8.07330412 1.73490933]] 2.9022030393408875
4.numpy.random.randn(d0, d1, ..., dn)
作用:返回一个指定形状的数组,数组中的值服从标准正态分布(均值为0,方差为1)。
参数:d0, d, ..., dn : int,可选。如果没有参数,则返回一个服从标准正态分布的float型随机数。
返回值:ndarray对象或者float
randn_a=np.random.randn(3,2) print(randn_a) randn_b=np.random.randn() print(randn_b) 执行结果 [[ 0.68138344 1.23435971] [-1.01872155 2.31559455] [-2.07548088 -0.27269745]] -1.167580030326607
5.numpy.random.normal(loc=0.0, scale=1.0, size=None)
作用:返回一个由size指定形状的数组,数组中的值服从 μ=loc,σ=scale 的正态分布。
参数:loc : float型或者float型的类数组对象,指定均值 μ
scale : float型或者float型的类数组对象,指定标准差 σ
size : int型或者int型的元组,指定了数组的形状。如果不提供size,且loc和scale为标量(不是类数组对象),则返回一个服从该分布的随机数。
返回值:ndarray对象或者一个标量
normal_a=np.random.normal(0,1,(3,2)) print(normal_a) normal_b=np.random.normal(1,3) print(normal_b) 执行结果 [[-0.22685209 0.08184552] [ 0.52388415 -0.53464353] [ 0.71336685 -1.46426207]] -0.3665180679155169
6.numpy.random.randint(low, high=None, size=None, dtype='l')
作用:返回一个在区间[low, high)中离散均匀抽样的数组,size指定形状,dtype指定数据类型。
参数:low, high:int型,指定抽样区间[low, high)
size:int型或int型的元组,指定形状
dypte:可选参数,指定数据类型,比如int,int64等,默认是np.int
返回值:如果指定了size,则返回一个int型的ndarray对象,否则返回一个服从该分布的int型随机数。
randint_a=np.random.randint(1,10,(3,2)) print(randint_a) randint_b=np.random.randint(1,10) print(randint_b) randint_c=np.random.randint(1,10,dtype=np.int64) print(randint_c) print(type(randint_c)) 执行结果 [[6 8] [3 7] [5 3]] 7 4 <class 'numpy.int64'>
7.numpy.random.choice(a,size=None,replace=True,p=None)
作用:可以从一个int数字或1维array里随机选取内容,并将选取结果放入n维array中返回。
参数:若a为数组,则从a中选取元素;若a为单个int类型数,则选取range(a)中的数
replace是bool类型,为True,则选取的元素会出现重复;反之不会出现重复
p为数组,里面存放选到每个数的可能性,即概率
print(np.random.choice(5,3)) print(np.random.choice(5,3,p=[0.1,0,0.3,0.6,0])) print(np.random.choice(5,3,replace=False)) print(np.random.choice(5,3,replace=False,p=[0.1,0,0.3,0.6,0])) aa_mline_arr=['beijing','shanghai','guangzhou','shenzhen'] print(np.random.choice(aa_mline_arr,5,p=[0.5,0.1,0.1,0.3])) 执行结果 [1 3 2] [3 3 3] [0 4 2] [3 0 2] ['shenzhen' 'shenzhen' 'beijing' 'guangzhou' 'beijing']
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论