zoukankan      html  css  js  c++  java
  • 五个 Python 常用数据分析库

    前言

    Python 是常用是数据分析工具,常用的数据分析库有很多,下面主要介绍如下五个分析库:NumPy、Pandas、SciPy、StatsModels、Matplotlib。

    NumPy

    NumPy 是一个非常常用的数据分析库,更准确点说是一个数学计算库,包括下面的 Pandas 也依赖于 NumPy。话说为什么用 NumPy,他有什么优点?

    1. 众多内置的数学计算:文章你看到这里,说明你要做的工作大概率是和人工智能、机器学习或数据分析相关的工作,这些工作不是简单的代码逻辑的堆叠,而更多的数学的应用,时常需要矩阵计算、基本线性代数操作、随机模拟和傅里叶变换等,NumPy 内置就可以精心这些操作,而不需要你徒手进行傅里叶展开。
    2. 快:举个例子,矩阵 a 和 b 的乘法,可以直接写成 a * b(元素乘积)或 a @ b(矩阵乘积),会比你徒手写循环要快,原因你可能猜到了,那就是预编译成 C 代码或者用到更好的缓存策略等,有这样的优点,你没有什么理由不用。
    3. 代码简单:矩阵相乘上面的写法就比循环更易读,更少的代码也意味着更少的 Bug。

    做数据分析,人生苦短,都已经用了 Python,那不妨了解一下 NumPy,你会有更深的理解。

    Pandas

    Pandas,Python Data Analysis Library,这是一个为数据建模分析而生的工具库,Pandas 包含许多数据模型,也吸纳了很多其他库的优势,比如上文就提到 Pandas 依赖于 NumPy,这里也建议了解了 NumPy 后再去学习 Pandas。Pandas 提供了大量的数据处理的函数和方法,尤其对大型数据集有其独特的优势,且由于其创建有着金融方面的背景,因此其在时间序列分析或经济学方面也有其独特的优势。

    Matplotlib

    Matplotlib 是一个 2D 绘图库。一堆数据摆在面前,或者是一个巨大的数据表格摆在面前,去分析其中数据特征,这样的任务对于人眼来说有点难度,但是如果转化为图形,则又是另一番感觉了。几行代码就可以画出精确的直方图、条形图、误差图或散点图,这样的工具对于数据分析来说就是神器呀。

    上面就是 Python 数据分析三大支柱(当然,有人会说其他的库或工具也很好用,确实我不否认这一点,但是我个人及一部分人仍然认为上面三个库是 Python 数据分析三大支柱),下面继续分析其他三个也很好用值得了解学习的工具库。

    SciPy

    很多人也想把 SciPy 列为支柱工具包,可见其还是很重要的。SciPy 也依赖于 NumPy,SciPy 是一个科学计算工具库,其中也包含很多的高阶抽象和物理模型,在积分、差值、信号处理等。

    StatsModels

    StatsModels 包含了许多的统计模型,线性模型、广义线性模型、方差分析、时间序列(Pandas 也可以做,因为 StatsModels 又依赖于 Pandas)和线性混合效用模型等,在统计方面有其独特的优势。

    后记

    对于 Python 的数据分析库,我不得不说,他们之间真的是紧密的联系在了一起,往往官网也都是相互有链接索引,互相推荐,真的是抱团取暖呀。并且他们之间有些功能还略有重复,但又各有侧重,对于这一点,这也是难免的,因为数据分析一些基础的操作都是一致的,哪一个库又都不可能把那些基础的功能屏蔽掉。对我们来说,我们往往是都需要有一定的了解,在不同的工作或任务中,使用不同的工具库。

    对于学习步骤,我的建议是先看看三大支柱(NumPy、Pandas 和 Matplotlib)的文档,学会基本使用后,具体的 API 以后的学习过程中慢慢去掌握。

  • 相关阅读:
    2021NUAA暑假集训 Day3 题解
    2021NUAA暑假集训 Day2 题解
    2021NUAA暑期模拟赛部分题解
    CodeForces 1038D Slime
    UVA 11149 Power of Matrix
    UVA 10655 Contemplation! Algebra
    UVA 10689 Yet another Number Sequence
    HDU 4549 M斐波那契数列
    HDU 4990 Reading comprehension
    CodeForces 450B Jzzhu and Sequences
  • 原文地址:https://www.cnblogs.com/renyuzhuo/p/12222578.html
Copyright © 2011-2022 走看看