学习链接:http://www.runoob.com/numpy/numpy-tutorial.html
简介:
numPy是python语言的一个扩展库,是一个运行非常快的数学库,主要用于数组计算。它支持大量的维度与数据运算还针对数组运算提供大量的数学函数库。它包含:一个强大的n维数组对象ndarray、广播功能函数、整合c/c++/fortran的工具、线性代数、傅里叶变化与随机数生成等功能
numPy应用
numpy通常与SciPy(Scientific Python)和Matplotlib(绘图库)配合使用,来代替MatLab,构成为强大的科学计算环境,帮助我们通过Python学习数据科学或者机器学习
安装:
$pip install numPy
测试安装成功:
>>> from numpy import * #导入numpy库
>>> eye(4) #生成对角矩阵
array([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]])
使用
*)list to array
参考链接:https://docs.scipy.org/doc/numpy/reference/generated/numpy.asarray.html
>>> a = [1, 2]
>>> np.asarray(a)
array([1, 2])
numpy random模块参考链接:https://www.cnblogs.com/hhh5460/p/4324967.html#top(官方文档翻译)
*)np.random.randint(low[,high,size,dtype])
参考链接:https://www.jianshu.com/p/36a4bbb5536e
>>> np.random.randint(0,20,4)
array([ 1, 9, 17, 11])
>>> np.random.randint(0,20,[4,1])
array([[16],
[19],
[ 5],
[ 9]])
>>> np.random.randint(0,20,[4])
array([ 4, 6, 11, 14])
>>> np.random.randint(0,20,4,1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "mtrand.pyx", line 973, in mtrand.RandomState.randint
TypeError: data type not understood
1)np.random.normal()生成高斯分布的概率密度随机数
参考链接:https://blog.csdn.net/qiqiaiairen/article/details/52505667
这个方法返回一个正态分布的数组?(正态分布、又称高斯分布、钟形曲线)
numpy.random.normal(loc=0.0, scale=1.0, size=None)
参数含义:
loc:(float类型)概率分布的均值,是对应于整个分布的中心而言
scale:(float类型)概率分布的标准差(标准差反应集合内个体的离散程度,越大越离散),对应于分布的宽度而言(即高度一定?),scale越大越矮胖,scale越小越瘦高
size:(int or tuple of ints类型)输出的shape(?),默认为None,只输出一个值
这个方法返回一个正态分布的数组
>>> numpy.random.normal(0,1,20)
array([-0.98305884, -0.79340779, 0.69865242, 1.10930775, 0.17458143,
0.88452427, 0.92862304, -1.27837941, -0.88772762, 0.86100981,
3.06262977, 1.66589188, -1.34269035, -0.13672729, 0.01154996,
-1.88304306, 0.35375017, -0.88784919, 2.77849309, 0.68915905])
2)np.range与range
range是python自带的库
参考链接:https://blog.csdn.net/lanchunhui/article/details/49493633
三个参数(S,E,Step_size)第一个参数是起点,第三个是步长,返回一个不包括第二个参数的数据序列