numpy、scipy、pandas 这些库的区别是什么?

百家 作者:AI100 2022-07-07 19:35:05

作者 | Python大数据分析

来源 | Python大数据分析

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

打个比方,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数组基础之上的数据工具,三者的协同工作可以高效解决很多问题,在金融、财务、天文、生物、气象和气候、材料等多个领域得到了广泛应用。


往期回顾

太卷了!AI 高数考试正确率81%


数据分析你选Pandas还是选SQL?


2D变身3D,来看英伟达的AI“新”魔法!


如何用 Python 实现景区安防系统?


分享

点收藏

点点赞

点在看

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接