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

机器学习初学者

共 1153字,需浏览 3分钟

 ·

2022-07-09 07:12

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

往期精彩回顾





浏览 30
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报