如何系统地学习Python 中 matplotlib, numpy, scipy, pandas?

现在越来越多的工作都需要用到数据分析,比如说处理一个较大规模的excel数据、可视化一批数据、可视化一批报表。虽然office的excel软件能处理一些简单的数据,同时也能绘制一些简单的图表,但是excel处理数据的函数过于抽象复杂、而且绘制的图标也比较简单,不能对数据进行深入的分析。
那么最好的数据分析模式是什么呢?当然是简单易上手的python,Python是一种解释性脚本语言,他没有c++、java那样的复杂的语法也没有那么多条条框框的编程限制,对于新手而言这一点也非常的友好了。

深入一点讲,python只是一个编程语言,如果要实现数据分析还需要几个第三方库,那什么是第三方库呢?第三方库就是别人写好的代码集合,你可以直接调用别人写好的代码来简化你的工作流程,通过“拿来主义”减轻你的工作负担,这也是利用python进行数据分析优于c++和java的地方,python拥有大量的第三方库使你只需要专注于你自己想要处理的工作,而不是像一个程序员一样去思考如何实现一个数据结构、编写一个算法;也不是像一个数学家一样要去思考实现一个数学模型,因为python的第三方库已经帮你实现了数据结构、算法、数学模型,你只需要去利用这些东西去完成你需要的工作。接下来,介绍一下利用Python进行数据分析最常用的几个第三方库。最常用的第三方库有四个:“Matplotlib”、“pandas”、“numpy”、“scipy”。下面详细介绍一下他们的功能和用途。

  • Matplotlib:Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。Matplotlib 可以用来绘制各种静态,动态,交互式的图表Matplotlib 是一个非常强大的 Python 画图工具,我们可以使用该工具将很多数据通过图表的形式更直观的呈现出来。Matplotlib 可以绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、甚至是图形动画等等。我们知道数据分析最后需要可视化呈现,那么最后呈现的图片是否美观一定程度上反映了数据分析结果的好坏,让我们看看Matplotlib能画出哪些优秀的图案:

Matplotlib画出来的图片是不是比excel画出来的简易图要高大上很多?如果这些图片出现在你的汇报ppt里是不是就把你的汇报提升了一个档次?Matplotlib能画出来的图片远远不止上面几种如果你现在就想试一试,可以参考Matplotlib的官方https://matplotlib.org/stable/gallery/index.html

  • Pandas:Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。Pandas 名字衍生自术语 "panel data"(面板数据)和 "Python data analysis"(Python 数据分析)。Pandas 一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算)。 Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。Pandas 广泛应用在学术、金融、统计学等各个数据分析领域。

下面就是一个pandas进行数据清洗的例子:
假设我们需要处理下面的数据,把它们进行可视化:

上面的数据中存在大量的缺失值(NA、NAN)和空值,那么我们直接使用pandas就可以清洗掉这这些缺失值、空值。

import pandas as pd
df = pd.read_csv('property-data.csv')
print (df['NUM_BEDROOMS'])
print (df['NUM_BEDROOMS'].isnull())

通过上面的代码,清洗后的数据就是:

这样简简单单的几行代码就直接完成了数据清洗的任务,后面我们就可以用清洗后干净的数据进行数据分析。

  • Numpy:NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用, 这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。

Numpy最主要的功能是矩阵运算,在矩阵运算上的Numpy的运算速度和计算精度都足以媲美MATLAB,但是相比于MATLAB那复杂抽象的语言,Python简单明了的编程方式会极大的提升你解决问题的速度,同时Numpy还有一个良好的社区环境,如果你的程序报错了又没有办法自己解决,你就可以在百度上查询你的bug,基本上都可以解决你遇到的问题,但是由于MATLAB是一个商业软件,他的社区氛围就要差的很多。下面就是numpy计算几个常见矩阵运算的方法:

  1. 矩阵转置 mat.T (mat为矩阵变量ndarray类型)
  2. 矩阵求逆 mat.T (mat为矩阵变量ndarray类型)
  3. 矩阵的特征值和特征向量 numpy.linalg.det(mat)\np.linalg.eig(mat)
  4. 矩阵的最大值和最小值以及均值 numpy.max(mat)\numpy.min(mat)
  5. 矩阵的排序 numpy.sort(mat)
  • SciPy:SciPy 是一个开源的 Python 算法库和数学工具包。Scipy 是基于 Numpy 的科学计算库,用于数学、科学、工程学等领域,很多有一些高阶抽象和物理模型需要使用Scipy。SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。

SciPy结合上面提到的Numpy和Pandas就可以解决日常生活中遇到的绝大部分数据分析任务,你可以把SciPy理解成一个数学库,这个数学库中包含了绝大部分的数学模型,优化模型(最小二乘法、梯度下降法),线性代数(高维度矩阵运算),以及其他学科的一些模型(计算机视觉中的图像处理、信号学中的傅里叶变化、信号处理等函数)。
看到这里,你也明白利用SciPy、Numpy、Pandas、Matplotlib进行数据分析是十分容易上手的一件事情

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、Python必备开发工具

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、Python练习题

检查学习结果。

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值