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
    +关注

    关注

    57

    文章

    4857

    浏览量

    89581
  • 深度学习
    +关注

    关注

    73

    文章

    5590

    浏览量

    123904
  • 自然语言处理

    关注

    1

    文章

    629

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

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

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

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

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

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

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

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

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

    Linux系统中最重要的三命令

    Linux三剑客是Linux系统中最重要的三命令,它们以其强大的功能和广泛的应用场景而闻名。这三工具的组合使用几乎可以完美应对Shell中的数据分析场景,因此被统称为Linux三剑
    的头像 发表于 03-03 10:37 797次阅读

    电力系统数据分析技术

    随着智能电网技术的发展和大数据时代的到来,电力系统数据分析技术已成为电力行业不可或缺的一部分。这些技术能够帮助电力公司更好地理解电网的运行状态,预测电力需求,优化电力资源分配,提高电网的稳定性
    的头像 发表于 01-18 09:46 1222次阅读

    适用于MySQL和MariaDB的Python连接器:可靠的MySQL数据连接器和数据库

    和 MariaDB 数据库服务器以及托管数据库服务,以对存储的数据执行创建、读取、更新和删除操作。该解决方案完全实现了 Python DB API 2.0 规范,并作为 Window
    的头像 发表于 01-17 12:18 844次阅读
    适用于MySQL和MariaDB的<b class='flag-5'>Python</b>连接器:可靠的MySQL<b class='flag-5'>数据</b>连接器和<b class='flag-5'>数据库</b>

    智能焊接数据分析设备提升工业效率与精度

    随着科技的不断进步,智能制造已经成为推动工业4.0发展的关键力量。在众多的智能制造技术中,智能焊接数据分析设备因其在提高生产效率和焊接质量方面的显著效果而受到广泛关注。本文将探讨智能焊接数据分析设备
    的头像 发表于 01-15 14:11 664次阅读

    适用于Oracle的Python连接器:可访问托管以及非托管的数据库

    适用于 Oracle 的 Python 连接器 适用于 Oracle 的 Python 连接器是一种可靠的连接解决方案,用于从 Python 应用程序访问 Oracle 数据库服务器和
    的头像 发表于 01-14 10:30 739次阅读

    智能焊接数据分析设备提升制造精度与效率

    不稳定、生产效率低等问题。而智能焊接数据分析设备的应用,则为解决这些问题提供了新的思路和技术手段。本文将探讨智能焊接数据分析设备如何通过数据采集、分析及应用,提升焊接制?
    的头像 发表于 01-14 09:36 741次阅读

    Mathematica 在数据分析中的应用

    数据分析是现代科学研究和商业决策中不可或缺的一部分。随着数据量的爆炸性增长,对数据分析工具的需求也在不断增加。Mathematica,作为一种强大的计算软件,以其独特的符号计算能力和广泛的内置函数
    的头像 发表于 12-26 15:41 1078次阅读

    绝缘电阻测试仪数据分析与处理

    绝缘电阻测试仪主要用于检查电气设备或电气线路对地及相间的绝缘电阻。将所测得的结果与有关数据比较,这是对实验结果进行分析判断的重要方法。以下是对绝缘电阻测试仪的数据分析与处理方法的介绍: 一、
    的头像 发表于 12-10 15:00 1518次阅读

    ClickHouse:强大的数据分析引擎

    ,是一款开源的面向列的分布式数据库管理系统,以其卓越的性能和强大的数据分析能力在大数据领域备受瞩目。 列式存储 列式存储是一种数据存储结构,也称为列存储或列式
    的头像 发表于 12-10 10:23 872次阅读
    ClickHouse:强大的<b class='flag-5'>数据分析</b>引擎