在上一篇《手把手陪您学Python》45——Python入门完结篇中,我们对入门阶段所学的内容进行了回顾和梳理,同时结束了Python基础知识的学习,实现了从Python小白到具有基础编程能力的蜕变。
由于接下来的Python学习有很多的方向,比如数据分析、人工智能、网络爬虫甚至游戏设计等等,我们不可能同时对所有方向进行学习和介绍,所以,我们暂时选择“数据分析”作为我们《手把手陪您学Python》系列方向后续的编写方向,并与大家一起学习NumPy、Pandas、Matplotlib等重要的数据分析工具。
当然,如果有机会,在数据分析之后,我们也会再选择其他的方向与大家一起学习。
不过,无论如何,还是感谢大家一直以来对《手把手陪您学Python》系列文章以及“亦说Python”微信公众号的支持。我也会继续保持原有风格,坚持写好后面的每一篇文章,期待与大家一起在Python的学习之路上不断进步、继续进阶。
下面就从NumPy开始我们在数据分析方面的Python学习和应用。
1、NumPy的开发
NumPy是Numerical Python的简称,是目前Python数值计算中最为重要的基础包。能够支持大量的维度数组与矩阵运算,此外也针对数组运算提供了大量的数学函数库。
1995年,Jim Hugunin 与其它协作者共同开发了Numpy的前身——Numeric库,是Python中最早的数组计算库。
2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展,开发了 NumPy,将社区整合到同一个数组计算框架下。
2、Numpy的安装
由于大多数Python安装包中,都已经内置了NumPy库,所以可以直接使用或者导入NumPy的相关模块和函数,不需要额外进行下载。
我们之前下载的Anaconda也已经内置了NumPy库,可以直接开始后面的学习和使用。
对于无法使用NumPy的朋友,可以使用pip工具自行下载安装NumPy,代码如下:
pip3 install --user numpy scipy matplotlib
--user 选项可以设置只安装在当前的用户下,而不是写入到系统目录。
如果国外的线路太慢,可以使用清华的镜像进行安装:
pip3 install numpy scipy matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
3、NumPy的特点
NumPy最重要的特点是使用了一种叫做"ndarray"的多维数组,提供了基于数组的各类计算和函数功能,并具有灵活的广播功能,能够对全量数组进行复杂计算而不需要写Python循环。
NumPy的算法库是用C语言编写的,在操作数据内存时,不需要任何类型检查或者管理操作,内存量小于其他Python内建序列。
此外,还能够对硬盘中的数组进行直接读写,并对内存映射文件进行操作。
具有线性代数、随机数生成以及傅里叶变换等功能,以及能够连接C、C++等语言库的API等。
4、学习NumPy的意义
虽然NumPy提供了数组计算的操作基础,但其本身并不提供建模以及科学函数,所以我们在进行数据分析时,并不会经常使用到NumPy。
学习NumPy的目的在于要理解Numpy的数组以及基于数组的计算过程和原理,以便我们更高效地学习其他基于数据的数据分析工具,比如我们后面要重点学习的Pandas。
尤其是针对特定场景的函数功能,比如数据分析中经常用到的表格数据以及时间序列操作等,NumPy中并不包括这些功能,Pandas才是我们后面进行统计分析的基石。
所以在这一阶段,我们主要是对NumPy的数组、计算以及广播机制等进行介绍,并为我们后面学习Pandas打好基础。
今天,我们主要对NumPy进行了一些介绍,下一篇,将会正式开始NumPy和数组相关知识的学习,敬请关注。
感谢阅读本文!如有任何问题,欢迎留言,一起交流讨论^_^
《手把手陪您学Python》系列文章入门阶段的篇目已经全部完成。
为更加清晰地展示Python入门阶段的知识体系,整理了如下的鱼骨图,以方便大家查阅。
如要阅读相应篇目的内容,请关注公众号点击菜单选择,或点击下方链接直达。
《手把手陪您学Python》3——PyCharm的安装和配置
《手把手陪您学Python》5——Jupyter Notebook
For Fans:关注“亦说Python”公众号,即可免费下载本系列文章所用示例语句。