[机器学习]Python中Numpy,Pandas,Matplotlib,Scipy,Seaborn介绍

Python做数据挖掘很强大,最近几年很火的机器学习以及较为前沿的自然语言处理也会选用Python作为基础工具. 其中python做数据挖掘足够强大,不用怀疑。

1. Numpy介绍

Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy、matplotlib一起使用。

用它来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多,本身是由C语言开发。这个是很基础的扩展,其余的扩展都是以此为基础。

数据结构为ndarray,一般有三种方式来创建:
1.Python对象的转换
2.通过类似工厂函数numpy内置函数生成:np.arange,np.linspace…..
3.从硬盘读取,loadtxt

1.1 学习文档视频

详细教程
http://www.jikexueyuan.com/course/1537.html
http://old.sebug.net/paper/books/scipydoc/index.html#id2

2. Pandas介绍

基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。最具有统计意味的工具包,某些方面优于R软件。数据结构有一维的Series,二维的DataFrame(类似于Excel或者SQL中的表,如果深入学习,会发现Pandas和SQL相似的地方很多,例如merge函数),三维的Panel(Pan(el) + da(ta) + s,知道名字的由来了吧)。

2.1 Pandas中的数据结构

Series:一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近,其区别是:List中的元素可以是不同的数据类型,而Array和Series中则只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率。
Time- Series:以时间为索引的Series。
DataFrame:二维的表格型数据结构。很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器。以下的内容主要以DataFrame为主。
Panel :三维的数组,可以理解为DataFrame的容器.

2.2 Pandas功能掌握

  1. 汇总和计算描述统计,处理缺失数据 ,层次化索引
  2. 清理、转换、合并、重塑、GroupBy技术
  3. 日期和时间数据类型及工具(日期处理方便地飞起)

2.3 Pandas文档视频资源

10分钟搞定Pandas
http://www.maiziedu.com/course/751-10786/
Pandas的创始者:利用Python进行数据分析 (豆瓣)

3. Matplotlib介绍

Python中最著名的绘图系统,很多其他的绘图例如seaborn(针对pandas绘图而来)也是由其封装而成。创世人John Hunter于2012年离世。这个绘图系统操作起来很复杂,和R的ggplot,lattice绘图相比显得望而却步,这也是为什么我个人不丢弃R的原因,虽然调用

plt.style.use("ggplot")

绘制的图形可以大致按照ggplot的颜色显示,但是还是感觉很鸡肋。但是matplotlib的复杂给其带来了很强的定制性。其具有面向对象的方式及Pyplot的经典高层封装。

3.1 Matplotlib功能掌握

  1. 散点图,折线图,条形图,直方图,饼状图,箱形图的绘制。
  2. 绘图的三大系统:pyplot,pylab(不推荐),面向对象
  3. 坐标轴的调整,添加文字注释,区域填充,及特殊图形patches的使用
  4. 金融的同学注意的是:可以直接调用Yahoo财经数据绘图

3.2 Matplotlib学习文档视频资源

Matplotlib讲解:课程简介和环境搭建
matplotlib-绘制精美的图表

4. Scipy介绍

scipy包包含致力于科学计算中常见问题的各个工具箱。它的不同子模块相应于不同的应用。像插值,积分,优化,图像处理,,特殊函数等等。
scipy可以与其它标准科学计算程序库进行比较,比如GSL(GNU C或C++科学计算库),或者Matlab工具箱。scipy是Python中科学计算程序的核心包;它用于有效地计算numpy矩阵,来让numpy和scipy协同工作。

4.1 Scipy文档资源视频

Scipy:高端科学计算
Scipy入门
SciPy-数值计算库

5. Seaborn介绍

Matplotlib是Python主要的绘图库。但是,我不建议你直接使用它,原因与开始不推荐你使用NumPy是一样的。虽然Matplotlib很强大,它本身就很复杂,你的图经过大量的调整才能变精致。因此,作为替代,我推荐你一开始使用Seaborn。Seaborn本质上使用Matplotlib作为核心库(就像Pandas对NumPy一样)

5.1 Seaborn功能

  1. 默认情况下就能创建赏心悦目的图表。(只有一点,默认不是jet colormap)
  2. 创建具有统计意义的图
  3. 能理解pandas的DataFrame类型,所以它们一起可以很好地工作。

5.2 文档视频资源

Python和数据科学的起步指南
python高级绘图库seaborn

猜你喜欢

转载自blog.csdn.net/baihuaxiu123/article/details/70260041