0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

数据分析中最常用、最好用的20个Python库分享

电子设计 来源:Yingying,李大囧 作者:ActiveWizards 2021-01-03 09:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

【导读】Python在解决数据科学任务和挑战方面处于领先地位。而一些方便易用的库则帮助了开发人员高效开发。在这里我们整理了20个在深度学习、数据分析中最常用、最好用的Python库,供大家一起学习。

作者| ActiveWizards

编译|专知

整理|Yingying,李大囧

核心库与统计

NumPy

我们从科学应用程序库开始说起,NumPy是该领域的主要软件包之一。 它旨在处理大型多维数组和矩阵,并且广泛的高级数学函数和实现的方法集合,使得可以使用这些对象执行各种操作。

在这一年中,NumPy有很多更新。 除了错误修复和兼容性问题之外,关键更新还包括NumPy对象的打印格式。此外,某些函数现在可以处理Python中可用的任何编码的文件。

SciPy

另一个科学计算核心库是SciPy。它基于NumPy,并扩展了其功能。 SciPy主数据结构又是一个多维数组,由Numpy实现。该软件包包含有助于解决线性代数,概率论,积分计算和更多任务的工具。

SciPy可以适配不同的操作系统。这一年,Scipy带来了许多函数的更新,尤其是优化器也更新了。此外,封装了许多新的BLAS和LAPACK函数。

Pandas

Pandas提供了高级数据结构和各种分析工具。该软件包的一大特色是能够将相当复杂的数据操作转换为一个或两个命令。 Pandas包含许多用于分组,过滤和组合数据的内置方法,以及时间序列功能。

Pandas在这一年的更新包括数百个新功能,bug修复和API的更改。

StatsModels

Statsmodels是一个统用于统计数据分析的方法,例如统计模型估计,执行统计测试等。在它的帮助下,您可以实现许多机器学习方法。

这个库在不停的更新。今年带来了时间序列改进和新的计数模型,即GeneralizedPoisson,零膨胀模型和NegativeBinomialP,以及新的多变量方法 - 因子分析,MANOVA和ANOVA中的重复测量。

可视化

Matplotlib

Matplotlib是一个用于创建二维图表和图形的低级库。 借助它的帮助,您可以构建各种图表,从直方图和散点图到非笛卡尔坐标图。 此外,许多流行的绘图库被设计为与matplotlib一起使用。

颜色,尺寸,字体,图例的样式等都有变化。比如轴图例的自动对齐,和更友好的配色。

pIYBAF9uKKOAZAQaAAEltPVFels346.png

Seaborn

Seaborn本质上是基于matplotlib库的更高级别的API。 它包含有丰富的可视化图库,包括时间序列,联合图和小提琴图(展示数据密度分布)等复杂类型。

seaborn更新主要包括bug修复。 此外,FacetGrid或PairGrid与增强的交互式matplotlib后端之间的兼容性有所改进,为可视化添加了参数和选项。

o4YBAF9uKKWAJTbuAAFnnWiR5ak704.png

Plotly

Plotly是一个流行的库,可以让您轻松地构建复杂的图形。 该软件包适用于交互式Web应用程序。 其可视化效果包括轮廓图形,三元图和3D图表。

今年该库的更新包括对“多链接视图”以及动画和串扰集成的支持。

Bokeh

Bokeh库使用JavaScript小部件在浏览器中创建交互式和可伸缩的可视化。 该库提供了多种图形,样式及链接图形式的交互能力,定义回调以及更多有用的功能。

Bokeh可以提供改进的交互式功能,例如分类刻度标签的旋转,以及小缩放工具和自定义工具提示字段增强功能。

pIYBAF9uKKiADl8nAAJgUugR2a8987.png

Pydot

Pydot是Graphviz的一个接口,用纯Python编写。 在它的帮助下,可以显示图形的结构,这在构建神经网络和基于决策树的算法时会经常用到。

pIYBAF9uKKuASmz2AAGODhkEbXg177.png

机器学习

Scikit-learn

这个基于NumPy和SciPy的Python模块是处理数据的最佳库之一。它为许多标准机器学习和数据挖掘任务提供算法,例如聚类,回归,分类,降维和模型选择。

今年这个库的更新包括:修改交叉验证,提供了使用多个指标的功能;最近邻和逻辑回归等几种训练方法有一些小的改进。

XGBoost / LightGBM / CatBoost

Boosting是最流行的机器学习算法之一,其在于构建基本模型的集合,即决策树。因此,有专门的库设计用于快速方便地实现该方法。XGBoost,LightGBM和CatBoost值得特别关注。这些库提供高度优化,可扩展和快速的梯度增强实现,这使得它们在数据科学家和Kaggle竞赛中非常受欢迎。

Eli5

通常,机器学习模型预测的结果并不完全清楚,而eli5库有助与解决问题。它是一个可视化调试机器学习模型的包,并逐步跟踪算法的工作过程。它可与scikit-learn,XGBoost,LightGBM,lightning和sklearn-crfsuite库兼容。

深度学习

TensorFlow

TensorFlow是一个流行的深度和机器学习框架,由Google Brain开发。它提供了使用具有多个数据集的人工神经网络的能力。最受欢迎的TensorFlow应用包括对象识别,语音识别等。

这个库在新版本中很快,引入了新功能和新功能。最新的修复包括潜在的安全漏洞和改进的TensorFlow和GPU集成,例如您可以在一台计算机上的多个GPU上运行Estimator模型。

PyTorch

PyTorch是一个大型框架,允许使用GPU加速执行张量计算,创建动态计算图并自动计算梯度。在此之上,PyTorch提供了丰富的API,用于解决与神经网络相关的应用。

该库基于Torch,这是一个用C语言实现的开源深度学习库,在Lua中有一个包装器。 Python API于2017年推出,从那时起,该框架越来越受欢迎并吸引了越来越多的数据科学家。

Keras

Keras是一个用于处理神经网络的高级库,运行在TensorFlow,Theano之上。现在它也可以使用CNTK和MxNet作为后端。它简化了许多特定任务,并大大减少了单调代码的数量。但是,它可能不适合某些复杂的事情。

该库在性能,可用性,文档和API都有一定改进。一些新功能是Conv3DTranspose层,新的MobileNet应用程序和自我规范化网络。

分布式深度学习

Dist-keras / elephas / spark-deep-learning

使用像Apache Spark这样的分布式计算系统可以更轻松地处理如此大量的数据,这再次扩展了深度学习的可能性。因此,dist-keras,elephas和spark-deep-learning正在迅速发展。这些软件包可以在Apache Spark的帮助下直接基于Keras库训练神经网络。 Spark-deep-learning还提供了使用Python神经网络创建管道的工具。

自然语言处理

NLTK

NLTK是一组库,是自然语言处理的完整平台。 在NLTK的帮助下,您可以通过各种方式处理和分析文本,标记文本,提取信息等。NLTK还用于原型设计和构建研究系统。

这个库的附魔包括API和兼容性的微小变化以及CoreNLP的新界面。

SpaCy

SpaCy是一个自然语言处理库,包含优秀的demo,API文档和演示应用程序。该库是用Cython语言编写的,它是Python的C扩展。它支持近30种语言,提供简单的深度学习集成,并保证了稳健性和高准确性。 SpaCy的另一个重要特性它是为整个文档处理而设计的,而不会将文档分成短语。

Gensim

Gensim是一个用于强大语义分析,主题建模和向量空间建模的Python库,基于Numpy和Scipy构建。它提供了流行的NLP算法的实现,例如word2vec。

数据抓取

Scrapy

Scrapy是一个用于创建扫描网站页面和收集结构化数据的爬虫库。此外,Scrapy可以从API中提取数据。由于其可扩展性和可移植性,该库恰好非常方便。

结论
与去年相比,一些新的库越来越受欢迎,而那些已成为数据科学任务经典库正在不断改进。

表格中列出了这些库的github活动的详细统计信息。

o4YBAF9uKK-AYCGJAAOx6nNMTIY255.png

编辑:hfy


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    58

    文章

    4885

    浏览量

    90307
  • 深度学习
    +关注

    关注

    73

    文章

    5608

    浏览量

    124634
  • 自然语言处理

    关注

    1

    文章

    630

    浏览量

    14723
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瓴羊Quick BI V6.1智能小Q深度进化,超级数据分析师如何更好用

    自25年8月发布以来,瓴羊Quick BI智能小Q作为数据分析Agent的先行者,已在零售、金融、制造等行业的百余业务场景中完成价值验证,让“人人拥有超级数据分析师”从愿景走向现实。但在应用场
    的头像 发表于 03-18 10:18 136次阅读
    瓴羊Quick BI V6.1智能小Q深度进化,超级<b class='flag-5'>数据分析</b>师如何更<b class='flag-5'>好用</b>?

    API数据分析:淘宝流量来源分析,渠道优化!

    优化渠道策略。我们将使用Python作为工具,结合数据分析和统计方法,确保过程真实可靠。 1. 理解淘宝流量来源 淘宝流量主要来自多个渠道,包括: 直接访问 :用户直接输入淘宝网址或从收藏夹访问。 搜索引擎 :如百度或淘宝内搜索,贡献
    的头像 发表于 01-23 13:42 390次阅读
    API<b class='flag-5'>数据分析</b>:淘宝流量来源<b class='flag-5'>分析</b>,渠道优化!

    利用拼多多用户API进行粉丝数据分析,有效提升用户粘性

    这些API进行粉丝数据分析,并基于分析结果制定增强用户粘性的策略。 一、 拼多多用户API概览 拼多多开放平台提供了丰富的API接口,涵盖商品、交易、用户、物流等多个维度。对于粉丝数据分析,以下几个API尤为关键: 粉丝明细查询
    的头像 发表于 12-30 10:38 370次阅读
    利用拼多多用户API进行粉丝<b class='flag-5'>数据分析</b>,有效提升用户粘性

    淘宝数据分析API:用户行为洞察,精准营销决策!

    。本文将探讨如何利用这些API实现用户行为的深度洞察,并转化为实际的营销价值。 一、用户行为数据的价值:从流量到洞察 用户进入店铺或浏览商品的每一动作,都蕴含着丰富的信息。传统的数据分析可能停留在流量、转化率等宏观层面
    的头像 发表于 12-25 14:12 409次阅读
    淘宝<b class='flag-5'>数据分析</b>API:用户行为洞察,精准营销决策!

    经营数据分析可以通过哪些方式

    在数聚股份看来,提起经营数据分析,大家往往会联想到一些密密麻麻的数字表格,或是高级的数据建模手法,再或是华丽的数据报表。其实,“ 分析 ”本身是每个人都具备的能力,对于业务决策者而言,
    的头像 发表于 12-05 16:31 737次阅读

    广立微DE-G零断档重构智能数据分析

    近日,数据分析领域被一则消息推上风口浪尖:一家老牌软件巨头将撤出中国。在此背景下,其旗下以灵活著称的数据分析软件,在中国市场的未来将面临极大的不确定性。
    的头像 发表于 11-07 10:39 828次阅读

    【产品介绍】Altair RapidMiner数据分析与人工智能平台

    AltairRapidMiner赋能组织解锁数据洞察,运用数据分析和先进的人工智能自动化,提供可扩展的面向未来的解决方案。Altair数据分析和人工智能平台包括数据准备、
    的头像 发表于 09-18 17:56 1035次阅读
    【产品介绍】Altair RapidMiner<b class='flag-5'>数据分析</b>与人工智能平台

    普迪飞 Exensio®数据分析平台 | Test Operations解锁半导体测试新纪元

    TestOperations是Exensio数据分析平台的四主要模块之一。T-Ops模块旨在帮助集成器件制造商(IDM)、无晶圆厂半导体公司(Fabless)和外包半导体(产品)封测厂(OSAT
    的头像 发表于 08-19 13:53 1682次阅读
    普迪飞 Exensio®<b class='flag-5'>数据分析</b>平台 | Test Operations解锁半导体测试新纪元

    如何通过数据分析识别设备故障模式?

    通过数据分析识别设备故障模式,本质是从声振温等多维数据中提取故障特征,建立 “数据特征 - 故障类型” 的映射关系,核心可通过特征提取、模式匹配、趋势分析三步实现,精准定位故障根源与发
    的头像 发表于 08-19 11:14 1119次阅读
    如何通过<b class='flag-5'>数据分析</b>识别设备故障模式?

    技能+1!如何在树莓派上使用C++控制GPIO?

    在使用树莓派时,你会发现Python和Scratch是许多任务(包括GPIO编程)中最常用的编程语言。但你知道吗,你也可以使用C++进行GPIO编程,而且这样做还有不少好处。借助WiringPi
    的头像 发表于 08-06 15:33 4503次阅读
    技能+1!如何在树莓派上使用C++控制GPIO?

    Oracle数据恢复—格式化分区导致Oracle数据库报错的数据恢复案例

    完成后将所有硬盘按照原样还原到原服务器中,后续的数据分析数据恢复操作基于镜像文件进行,避免对原始磁盘数据造成二次破坏。基于镜像文件分析所有硬盘底层
    的头像 发表于 07-22 14:06 526次阅读
    Oracle<b class='flag-5'>数据</b>恢复—格式化分区导致Oracle<b class='flag-5'>数据库</b>报错的<b class='flag-5'>数据</b>恢复案例

    构建自定义电商数据分析API

      在电商业务中,数据是驱动决策的核心。随着数据量的增长,企业需要实时、灵活的分析工具来监控销售、用户行为和库存等指标。一自定义电商数据分析
    的头像 发表于 07-17 14:44 730次阅读
    构建自定义电商<b class='flag-5'>数据分析</b>API

    AI数据分析仪设计原理图:RapidIO信号接入 平板AI数据分析

    AI数据分析仪, 平板数据分析仪, 数据分析仪, AI边缘计算, 高带宽数据输入
    的头像 发表于 07-17 09:20 873次阅读
    AI<b class='flag-5'>数据分析</b>仪设计原理图:RapidIO信号接入 平板AI<b class='flag-5'>数据分析</b>仪

    如何使用协议分析仪进行数据分析与可视化

    使用协议分析仪进行数据分析与可视化,需结合数据捕获、协议解码、统计分析及可视化工具,将原始数据转化为可解读的图表和报告。以下是详细步骤及关键
    发表于 07-16 14:16

    达梦数据库常用管理SQL命令详解

    达梦数据库常用管理SQL命令详解
    的头像 发表于 06-17 15:12 7649次阅读
    达梦<b class='flag-5'>数据库</b><b class='flag-5'>常用</b>管理SQL命令详解