矿工入门|挖矿相关的术语
28定律是一个魔咒,也是一种态度。学习也是一样,今天给大家介绍一种强大的科学计算库NumPy,2分钟可以轻松掌握。什么?NumPy有什么用?深度学习,图像处理,机器识别,大数据分析,unity,游戏开发,这些少了NumPy能活吗?
NumPy是python的开源数值计算扩展库。处理大型的矩阵,向量,列表的相关处理,极其高效,更重要的是,背后是70年来被众多的数学家包括冯诺依曼大侠都做过贡献的稳定高性能算法。
如此高深的东西,会不会很难?
其实,优质的科学往往应用很简单。今天我们就给大家从0开始介绍一下NumPy的使用。
1、安装
说到安装,我提一句,昨天一个小伙伴问我安装python的问题,他说他学习python有大半年了,我很诧异,我说你都在做什么,他说他尝试在windows,mac,ubuntu,等系统中使用vim,sublime,gedit,sneapy,pycharm,vscode,...... 然后大半年过去了。大半年还在如何安装工具上打转!
我竟无言以对。
我也看了一些老师讲的课程,建议初学者用最简单的python自带的解释器。我不置可否。每次说到这件事,我只想说一句,只要简单的相信,不要复杂的怀疑,就使用pycharm吧!不要在这些事情上耗费精力。
为什么呢?工欲善其事,必先利其器。
我们学的是python和用python实现的各种功能和软件开发,难道在后面漫长的学习和开发过程中,我们还没有时间好好学习一个工具吗?我们难道不需要一个好的工具开始,让我们尽快的进入我们要研究的内容吗?
2005年以来,我开始使用python做数据分析和数据挖掘方面的工作,是的,深度学习就是这个领域的代表,那个时候深度学习的开发工具还没有那么完善。尝试了各种开发工具。
2008年我开始使用pycharm,以后一直忠贞一心。
请大家不要犹豫,并且坚信使用pycharm吧!
好吧,言归正传,安装numpy很简单,在终端执行:
python -m pip install numpy即可。有朋友遇到安装的问题,大多因为网速,可以选择国内镜像。有需要的,我们在评论中回复给大家。
2、numpy的使用
(1) shape
形状所谓shape,就是比如一个矩阵是3x4的,那么我们就可以使用下面的代码定义
shape = (3,4)(2)(2)dtype 数据类型
numpy的数据类型有很多。常用的比如bool布尔类型,int32 32位整数,float32 32位浮点数。我们可以定义
dtype = numpy.float32确定为32位浮点数。numpy支持各种数据类型,在定义之前确定数据类型是一个很好的习惯。
(3)zeros函数
numpy.zeros函数定义了所有值都为0的矩阵或者列表。我们可以这样定义初始化一个0矩阵。
z=numpy.zeros(shape,dtype=numpy.float32)这样就生成了一个shape 结构(这里是3x4)的矩阵,并且每个元素都是一个float32类的浮点数。
(4)ones函数
numpy.ones函数和numpy.zeros函数类似,差别就是生成一个值都等于1的矩阵,其他用法类似。
z=numpy.ones(shape,dtype=numpy.float32)(5)ndarray矩阵
numpy的矩阵类型是ndarray。我们前面介绍了zeros和ones,我们是建议大家用他们去定义矩阵,并做一个简单的初始化。为什么呢?给大家说个高深的东西,就是群。0是加法群的单位元素,1是乘法群的单位元素。好吧,这个太数学了,属于大学里的代数学范畴。
numpy的初始化方法非常多,我为什么只讲这么点?
原因很简单,因为,这个是经过检验不容易出错的。更重要的,在数据为对象的矩阵中,这个方法可以适用于所有场景。
(6)numpy强大的数学处理能力
数学工具,不用多说了,注意,这里是矩阵整体运算,不是单体的,比如numpy.sin(a)表示对a的所有元素都求sin值。
- NumPy 包含大量的各种数学运算的函数,包括三角函数,算术运算的函数,复数处理函数等,
- 算术函数包含简单的加减乘除: add(),subtract(),multiply() 和 divide()。
- NumPy 提供了很多统计函数,用于从数组中查找最小元素,最大元素,百分位标准差和方差等
- NumPy 提供了多种排序的方法。 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性
- NumPy 提供了线性代数函数库 linalg,该库包含了线性代数所需的所有功能
可以这样说,Matlab能处理的事NumPy就能处理。
关于NumPy的内容,涉及到整个科学界的各个领域,是工程科学,数值计算,仿真科学,数据科学,图像处理科学等各学科的必备工具。
希望大家能从这篇文章开始,尝试使用NumPy。
轻松编程,快乐生活,求赞求关注!