Numpy、Scipy、Pandas这些库的区别是什么?

开发
Pandas和Scipy是建立在numpy数组基础之上的数据工具,三者的协同工作可以高效解决很多问题,在金融、财务、天文、生物、气象和气候、材料等多个领域得到了广泛应用。

知乎上有个热门问题,问numpy,scipy,pandas这三个库的区别是什么?

打个比方,pandas类似Excel软件,scipy就像Excel里的函数算法包,numpy则好比构建Excel逻辑的底层语句。

所以说pandas擅长数据处理,scipy精通数学计算,numpy是构建pandas、scipy的基础库。

我们知道numpy通过N维数组来实现快速的数据计算和处理,它也是Python众多数据科学库的依赖,其中就包括pandas、scipy。

而numpy本身不依赖于任何其他Python软件包,只依赖于加速的线性代数库,通常为 Intel MKL或 OpenBLAS。

图片

pandas是python数据处理的核心库,它基于数组形式提供了极其丰富的数据操作,对比excel有过之而无不及。

它可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征,广泛应用在学术、金融、统计学等各个数据分析领域。

一般来说,学python数据分析只需要学透pandas就够了,辅助加一些numpy、scipy、matplotlib等库。

图片

scipy 是一个用于数学、科学、工程领域的常用软件包,可以处理最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理、图像处理、常微分方程求解器等。。

其包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。

scipy中主要的计算模块:

  • scipy.integrate:数值积分例程和微分方程求解器
  • scipy.linalg:扩展了由numpy.linalg提供的线性代数例程和矩阵分解功能
  • scipy.optimize:函数优化器(最小化器)以及跟查找算法
  • scipy.signal:信号处理工具
  • scipy.sparse:稀疏矩阵和系数线性系统求解器
  • scipy.special:SPECFUN(这是一个实现了许多常用数学函数(如伽马函数)的Fortran库)的包装器
  • scipy.stats:标准连续和离散概率分布、各种统计检验方法,以及更好的描述统计法
  • scipy.weave:利用内联C++代码加速数组计算的工具

综上所述,pandas和scipy是建立在numpy数组基础之上的数据工具,三者的协同工作可以高效解决很多问题,在金融、财务、天文、生物、气象和气候、材料等多个领域得到了广泛应用。

责任编辑:赵宁宁 来源: Python大数据分析
相关推荐

2022-11-15 10:03:34

2023-10-23 11:07:37

HTTPRPC

2023-06-09 09:10:06

nftablesiptables

2020-09-06 22:04:48

Python运算符开发

2016-03-21 10:40:53

RDDSpark SQL数据集

2021-03-15 14:00:56

PythonC语言编程语言

2021-05-06 15:08:40

开发前端后端

2015-02-26 10:29:41

Google百度

2018-05-21 21:26:59

Apache HiveHbaseSQL

2012-07-31 15:52:48

云计算网格计算

2021-10-27 08:54:11

Pythonencodeencoding

2022-09-03 08:03:14

UbuntuDebian

2017-11-21 22:49:10

2022-09-22 16:51:37

数据分析商业智能数据驱动

2020-09-18 15:10:51

Web前端技术

2023-10-24 09:07:14

CookieSessionHTTP

2023-08-29 09:50:42

Unix shellLinux

2012-12-10 09:44:04

路由器本地回路

2021-02-17 00:30:41

机器学习深度学习人工智能

2022-11-18 16:10:03

云计算虚拟机
点赞
收藏

51CTO技术栈公众号