Python数据分析学习路线(知识点汇总)
有很多同学会有疑问“老师我没有编程基础,也没有学习过 Python,我想用 Python 做数据分析,我应该从何处着手呢?”我相信很多的同学都有着相似的疑问,你们的茫然无措我也很理解,那么通过阅读这篇文章,我相信可以让你拨云见日,解开你心中的疑惑。我将给大家介绍,如何在没有任何基础的情况下学习数据分析,给你一些参考意见,帮你找到行之有效的学习方法。我相信正确的方法可以让我们的学习起来事半功倍。
图 1:学习数据分析方法很重要
这个给大家本网站的 《Python入门基础教程》完全符合我们的上述要求,大家根据章节有选择性的学习,这里给大家再推荐一本书籍《Python编程从入门到实践》,两者搭配起来,效果会更好。
图 2:Numpy Logo
NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发。2005 年, Numeric 结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展,从而诞生了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。它主要有以下优势:
图 3:Matplotlib 绘图效果展示
Scipy 包含的功能有最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算,显然,这些功能都是挖掘与建模必备的。Scipy 依赖于 Numpy,因此安装它之前得先安装 Numpy。
Pandas 是 Python 的一个数据分析包,最初由一家著名的量化投资公司 AQR 于 2008 年 4 月开发,并于 2009 年底开源出来,主要开发者是韦斯▪麦金尼 。目前它由专注于 Python 数据包开发的 PyData 开发团队继续开发和维护,属于 PyData 项目的一部分。Pandas 最初被作为金融数据分析工具而开发出来。在后续章节中这将是我们关注的重点模块。
图 4:Pandas 开发者韦斯▪麦金尼
在本节我们先介绍了 4 个常用的第三方包,当然还有很多,比如 Scikit-Learn、Keras、StatsModels、Pillow、OpenCV 等等,有兴趣的可以自行了解,不作为本节的介绍重点。在后续章节中我们将以上述 4 个常用模块作为教程重点进行讲解,当然也会穿插介绍一些其他模块,从而帮助大家掌握数据分析的常用模块。
1. Python要针对性的学
俗语有云“不积跬步,无以至千里”,数据分析属于是 Python 语言的一个就业方向,而且可以说是有一定难度的,所以如果你没有抱着“必死”的决心去学习,建议你就不要往下看了,世界上没有一蹴而就的事情,也没有不付出就可以收获回报的好事,所以要想使用 Python 做数据分析,掌握 Python 语言的基础是必须的,如果没有基础估你连一个脚本怎么运行都不知道,更别提看懂代码了,但是学习基础,我们也要有针对性的学习,这样才能快速提高我们的掌握数据分析的效率。1) Python基础需要重点掌握哪些
所谓针对性学习,并不是说我们忽略的知识不重要,只是他在数据分析中可能不重要,你要知道 Python 语言可以是从事很多方向的工作,数据分析只是其中之一。那么对于没有基础的同学应该如何去学习 Python 语言呢,才能和数据分析高度契合?(PS:有基础的小伙伴可以跳过或针对性复习):- 第一,就是要认识 Python 语言,比如它的编码格式,它的特征(Python 中一切皆对象)、以及标量类型;
- 第二,重点掌握 Python 内建数据结构,比如字符串、列表、元组、字典、集合,它们涉及的方法与属性;
- 第三,熟练掌握 if 语句、for 循环、while 循环以及列表、元组、字典的推导式和 Python 异常处理机制;
- 第四,掌握 Python 内置的一些标准库函数模块,比如和数学计算相关的 math 模块
- 第五,重点掌握 Python 的面向对象编程的概念,理解类、类方法、类属性、实例对象、实例属性,并且能够熟练使用;
- 第六,掌握常用的 Python 内置函数,比如 zip()、map()、filter()等等,以及掌握 Python 的函数式编程和 Lambda 表达式;
- 第七,重点掌握如何使用 Python 处理文件,这也是数据处理预处理中常用到,没有一个合适的格式,如何展开数据分析。
图 1:学习数据分析方法很重要
这个给大家本网站的 《Python入门基础教程》完全符合我们的上述要求,大家根据章节有选择性的学习,这里给大家再推荐一本书籍《Python编程从入门到实践》,两者搭配起来,效果会更好。
2. 数据分析中重要的Python库
上面介绍了学习 Python 基础时,给大家提出的一点小建议,希望大家根据自己的实际情况安排相应的学习,下面给大家介绍数据分析中经常用到的 Python 相关的重要库,也就是我们提到过的科学计算库,给大家做一下简单的介绍,在后面我们会进行逐一的讲解。1) Nmupy数值计算基础库
Python 自身的数据分析能力并不强,需要安装一些第三方库扩展库才能最终实现数据分析的目的。NumPy(官网http://numpy.org) 是 Python 语言的一个扩展程序库,是 Numerical Python 的简写,支持大量的维度数组与矩阵运算,它提供了关于数组的大量的数学函数库以及大部分和 Python 数值计算有关的接口,它是 Python 数值计算的基础包,一般配合其他的第三方包使用,比如 matplotlib、Pandas 等。图 2:Numpy Logo
NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发。2005 年, Numeric 结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展,从而诞生了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。它主要有以下优势:
- 快速高效且多维的数组对象 ndarray。
- 基于元素的数组计算或数组之间数学操作函数。
- 用于读写硬盘中基于数组的数据集工具。
- 线性代数操作、傅里叶变换以及随机数生成。
In [1]: import numpy as np In [2]: a=np.array([1,2,3,4,5]) In [3]: a Out[3]: array([1, 2, 3, 4, 5]) In [4]: type(a) Out[4]: numpy.ndarrayNumpy 在内部数据结构上将数据存储在连续的内存块上,这与其他的 Python 内建数据结构是不同的,它的底层是用 C语言编写的,Numpy 数组使用的内存量也远远小于其他 Python 内建数据类型。
2) Python可视化库Matplotlib
数据分析最后的结果要以可视化的形式呈现,对于 Python 来说 Matplotlib(官网http://matplotlib.org) 是最流行的绘图库,它由 John D.Hunter 创建,主要用于 2D 绘图和一部分3D 绘图。让我们可以非常快捷的使用 Python 完成数据的可视化工作,并且将输出的结果保存为想要的图片格式。所以将 Matplotlib 作为默认的可视化工具是一个不错的选择。代码示例如下所示:import numpy as np 导入numpy数值计算库 import matplotlib.pyplot as plt 导入matplotlib绘图库 #自变量 x=np.linspace(0,10,1000) #因变量 y=np.sin(x)+1 #因变量 z=np.cos(x**2)+1 #设置图像大小 plt.figure(figsize=(8,4)) #设置标签、线条颜色,线条大小 plt.plot(x,y,label='sinx + 1',color='red',linewidth=2) plt.plot(x,z,label='cosx^2 + 1',color='blue',linewidth=1) #分别设置 x/y名称 plt.xlabel('Time(s)') plt.ylabel('Volt(v)') plt.title('Matplotlib Sample') plt.ylim(0,2.5)#显示的y轴范围 plt.legend()#显示图例最终运行后可以得到如下所示的绘图效果:
图 3:Matplotlib 绘图效果展示
3) Pyhton的科学计算库SciPy
Scipy 是基于 Numpy 在科学计算领域非常强大的科学计算库。它在优化、非线性方程求解、常微分方程等方面应用广泛,Numpy 虽然提供了多维数组功能,但它只是一般的数组, 并不是矩阵。例如,当两个数组相乘时,只是对应元素相乘,而不是矩阵乘法。Scipy 提供了真正的矩阵,以及大量基于矩阵运算的对象与函数。Scipy 包含的功能有最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算,显然,这些功能都是挖掘与建模必备的。Scipy 依赖于 Numpy,因此安装它之前得先安装 Numpy。
4) 数据分析强大工具Pandas
Pandas 是基于 NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas 提供了大量能使我们快速便捷地处理数据的函数和方法。它是使 Python 成为强大而高效的数据分析环境的重要因素之一。Pandas 是 Python 的一个数据分析包,最初由一家著名的量化投资公司 AQR 于 2008 年 4 月开发,并于 2009 年底开源出来,主要开发者是韦斯▪麦金尼 。目前它由专注于 Python 数据包开发的 PyData 开发团队继续开发和维护,属于 PyData 项目的一部分。Pandas 最初被作为金融数据分析工具而开发出来。在后续章节中这将是我们关注的重点模块。
图 4:Pandas 开发者韦斯▪麦金尼
Pandas 的名称来自于面板数据(panel data)和 Python 数据分析(data analysis),panel data 是经济学中关于多维数据集的一个术语。
在 Window 环境下都可以直接使用pip install
的方式对上面的第三方包进行安装即可,如果你安装了 Anaconda 科学计算平台,则无需安装了上述第三方包了,它已经为你集成安装好了,不过因此你要了解 Anaconda 使用方法以及常用的一些命令格式,这需要你自己去学习,本教程中不做介绍。如果你是 Linux 平台可以自行百度搜索如何安装,在这里不多赘述了。在本节我们先介绍了 4 个常用的第三方包,当然还有很多,比如 Scikit-Learn、Keras、StatsModels、Pillow、OpenCV 等等,有兴趣的可以自行了解,不作为本节的介绍重点。在后续章节中我们将以上述 4 个常用模块作为教程重点进行讲解,当然也会穿插介绍一些其他模块,从而帮助大家掌握数据分析的常用模块。
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算