社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

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

往期精彩回顾





Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/137032
 
353 次点击