我的编程空间,编程开发者的网络收藏夹
学习永远不晚

2017,最受欢迎的 15 大 Pyth

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

2017,最受欢迎的 15 大 Pyth


2017,最受欢迎的 15 大 Python 库有哪些?
本文作者:林立宏 2017-06-22 19:23

雷锋网按:本文作者为 ActiveWizards 的数据顾问 Igor Bobriakov,雷锋网林立宏与 Raey Raey Li 编译。

2017,最受欢迎的 15 大 Python 库有哪些?

Igor Bobriakov

近年来,Python 在数据科学行业扮演着越来越重要的角色。因此,我根据近来的使用体验,在本文中列出了对数据科学家、工程师们最有用的那些库。

由于这些库都开源了,我们从Github上引入了提交数,贡献者数和其他指标,这可以作为库流行程度的参考指标。

核心库

1. NumPy (提交数: 15980, 贡献者数: 522)

当开始处理Python中的科学任务,Python的SciPy Stack肯定可以提供帮助,它是专门为Python中科学计算而设计的软件集合(不要混淆SciPy库,它是SciPy Stack的一部分,和SciPy Stack的社区)这样我们开始来看一下吧。然而,SciPy Stack相当庞大,其中有十几个库,我们把焦点放在核心包上(特别是最重要的)。

关于建立科学计算栈,最基本的包是Numpy(全称为Numerical Python)。它为Python中的n维数组和矩阵的操作提供了大量有用的功能。该库提供了NumPy数组类型的数学运算向量化,可以改善性能,从而加快执行速度。

2. SciPy (提交数: 17213, 贡献者数: 489)

SciPy是一个工程和科学软件库。雷锋网(公众号:雷锋网)再次提醒,你需要理解SciPy Stack和SciPy库之间的区别。

SciPy包含线性代数,优化,集成和统计的模块。SciPy库的主要功能是建立在NumPy上,从而它的数组大量的使用了NumPy的。它通过其特定子模块提供有效的数值例程,并作为数字积分、优化和其他例程。SciPy的所有子模块中的功能都有详细的说明 ——又是一个SciPy非常有帮助的点。

3. Pandas (提交数: 15089, 贡献者数:762)

Pandas是一个Python包,旨在通过“标记”和“关系”数据进行工作,简单直观。Pandas是数据整理的完美工具。它设计用于快速简单的数据操作,聚合和可视化。

库中有两个主要的数据结构:

  • “系列”(Series),一维

    2017,最受欢迎的 15 大 Python 库有哪些?

  • “数据帧”(Data Frames),二维

    2017,最受欢迎的 15 大 Python 库有哪些?

例如,当您要从这两种类型的结构中接收到一个新的Dataframe时,通过传递一个Series,您将收到一个单独的行到DataFrame的DF:

2017,最受欢迎的 15 大 Python 库有哪些?

 这里稍微列出了你可以用Pandas做的事情:

  • 轻松删除并添加数据帧(DataFrame)中的列

  • 将数据结构转换为数据帧(DataFrame)对象

  • 处理丢失的数据,表示为NaN

  • 功能强大的分组

Google趋势记录

2017,最受欢迎的 15 大 Python 库有哪些?

trends.google.com

GitHub请求历史记录

2017,最受欢迎的 15 大 Python 库有哪些?

datascience.com/trends 

可视化

4.Matplotlib (提交数: 21754, 贡献者数: 588) 

又一个SciPy Stack核心软件包以及 Python库,Matplotlib为轻松生成简单而强大的可视化而量身定制。它是一个顶尖的软件(在NumPy,SciPy和Pandas的帮助下),它使Python成为像MatLab或Mathematica这样的科学工具的竞争对手。

然而,这个库是低层级的,这意味着你需要编写更多的代码才能达到高级的可视化效果,而且通常会比使用更多的高级工具付出更多的努力,但总体上这些努力是值得的。

只要付出一点你就可以做任何可视化:

  • 线图

  • 散点图

  • 条形图和直方图

  • 饼状图;

  • 茎图

  • 轮廓图

  • 场图

  • 频谱图

还有使用Matplotlib创建标签,网格,图例和许多其他格式化实体的功能。基本上,一切都是可定制的。

该库由不同的平台支持,并使用不同的GUI套件来描述所得到的可视化。不同的IDE(如IPython)都支持Matplotlib的功能。

还有一些额外的库可以使可视化变得更加容易。

2017,最受欢迎的 15 大 Python 库有哪些?

5. Seaborn (提交数: 1699, 贡献者数: 71)

Seaborn主要关注统计模型的可视化;这种可视化包括热图,这些热图(heat map)总结数据但仍描绘整体分布。Seaborn基于Matplotlib,并高度依赖于此。

 2017,最受欢迎的 15 大 Python 库有哪些?

 6. Bokeh (提交数: 15724, 贡献者数: 223)

另一个很不错的可视化库是Bokeh,它针对交互式可视化。与以前的库相比,它独立于Matplotlib。正如我们提到的,Bokeh的主要焦点是交互性,它通过现代浏览器以数据驱动文档(d3.js)的风格呈现。

2017,最受欢迎的 15 大 Python 库有哪些?

7. Plotly (提交数: 2486, 贡献者数: 33)

最后,关于Plotly的话。它是一个基于Web用于构建可视化的工具箱,提供API给一些编程语言(Python在内)。在plot.ly网站上有一些强大的、上手即用的图形。为了使用Plotly,你将需要设置API密钥。图形将在服务器端处理,并发布到互联网,但有一种方法可以避免。

2017,最受欢迎的 15 大 Python 库有哪些?

Google趋势记录

2017,最受欢迎的 15 大 Python 库有哪些?

trends.google.com

GitHub请求历史记录

2017,最受欢迎的 15 大 Python 库有哪些?

datascience.com/trends

机器学习

8. SciKit-Learn (提交数:21793, 贡献者数:842)

Scikits是Scikits Stack额外的软件包,专为像图像处理和机器学习辅助等特定功能而设计。对于机器学习辅助,scikit-learn是所有软件包里最突出的一个。它建立在SciPy之上,并大量利用它的数学运算。

scikit-learn给常见的机器学习算法公开了一个简洁、一致的接口,可简单地将机器学习带入生产系统中。该库中集成了有质量的代码和良好的文档、简单易用并且十分高效,是使用Python进行机器学习的实际行业标准。

深度学习—— Keras / TensorFlow / Theano

在深度学习方面,Python中最着名和最便的库之一是Keras,它可以在TensorFlow或Theano框架上运行。让我们来看一下它们的一些细节。 

9.Theano. (提交数:25870, 贡献者数:300) 

首先让我们谈谈Theano。

Theano是一个Python软件包,它定义了与NumPy类似的多维数组,以及数学运算和表达式。此库是被编译的,可实现在所有架构上的高效运行。最初由蒙特利尔大学机器学习组开发,它主要用于满足机器学习的需求。

值得注意的是,Theano紧密结合了NumPy在低层次上的运算 。另外,该库还优化了GPU和CPU的使用,使数据密集型的计算平台性能更佳。

效率和稳定性微调保证了即使在数值很小的情况下,仍有更精确的结果,例如,即使只给出x的最小值,log(1 + x)仍能计算出合理的结果。

10. TensorFlow. (提交数: 16785,贡献者数: 795)

TensorFlow来自Google的开发人员,它是数据流图计算的开源库,为机器学习不断打磨。它旨在满足谷歌对训练神经网络的高需求,并且是基于神经网络的机器学习系统DistBelief的继任者。然而,TensorFlow并不限制于谷歌的科学应用范围 – 它可以通用于多种多样的现实应用中。 

TensorFlow的关键特征是它的多层节点系统,可以在大型数据集上快速训练神经网络。这为谷歌的语音识别和图像对象识别提供了支持。

11. Keras. (提交数: 3519,贡献者数: 428)

最后我们来看看Keras。它是一个用Python编写的开源的库,用于在高层的接口上构建神经网络。它简单易懂,具有高级可扩展性。Keras使用Theano或TensorFlow作为后端,但微软现在正努力整合CNTK(微软的认知工具包)作为新的后端。

设计中的简约方法旨在通过建立紧凑型系统进行快速、简便的实验。

Keras真的容易上手,并在持续完善它的快速原型能力。它完全用Python编写,可被高度模块化和扩展。尽管它以易上手、简单和以高层次为导向,但是Keras足够有深度并且足够强大,去支持复杂的模型。

谷歌发展趋势历史

2017,最受欢迎的 15 大 Python 库有哪些?

trends.google.com

GitHub请求历史记录

2017,最受欢迎的 15 大 Python 库有哪些?

datascience.com/trends

自然语言处理

12. NLTK (提交数: 12449,贡献者数: 196)

这个库的名称“Natural Language Toolkit”,代表自然语言工具包,顾名思义,它用于符号学和统计学自然语言处理(NLP) 的常见任务。 NLTK旨在促进NLP及相关领域(语言学,认知科学人工智能等)的教学和研究,目前受到重点关注。

NLTK的功能允许很多操作,例如文本标记,分类和标记,实体名称识别,建立语料库,可以显示语言内部和各句子间的依赖性、词根、语义推理等。所有的构建模块都可以为不同的任务构建复杂的研究系统,例如情绪分析,自动总结。

13. Gensim (提交数: 2878,贡献者数: 179)

它是一个用于Python的开源库,为有向量空间模型和主题模型的工作提供了使用工具。这个库是为了高效处理大量文本而设计的,所以不仅可以进行内存处理,还可以通过广泛使用NumPy数据结构和SciPy操作来获得更高的效率。Gensim高效也易于使用。

Gensim旨在与原始和非结构化的数字文本一起使用。 它实现了诸如hierarchical Dirichlet processes(HDP),潜在语义分析(LSA)和潜在Dirichlet分配(LDA)之类的算法,以及tf-idf,随机预测,word2vec和document2vec,便于检查一组文档中有重复模式的文本 (通常称为语料库)。所有的算法均是无监督的,意味着不需要任何参数,唯一的输入只有语料库。 

谷歌发展趋势历史

2017,最受欢迎的 15 大 Python 库有哪些?

trends.google.com

GitHub请求历史记录

2017,最受欢迎的 15 大 Python 库有哪些?

datascience.com/trends

数据挖掘,统计学

14. Scrapy (提交数: 6325,贡献者数: 243)

Scrapy库是用于从网络结构化检索数据(如联系人信息或URL),可以用来设计crawling程序(也称为蜘蛛bots)。

它是开源的,使用用Python编写的。最开始只是如它的名字暗示的一样,只用来做scraping,但是它现在已经在完整的框架中发展,能够从API采集数据并作为通用的crawlers了。

该库在界面设计中标榜着“不要重复自己”  它推荐用户们编写泛化得到、可被重复使用的通用代码,从而构建和扩展大型的crawlers。

Scrapy的架构围绕着Spider class构建,这其中包含了crawler追从的一套指令。

 15. Statsmodels (提交数: 8960,贡献者数: 119) 

你可能从名字就猜出大概了,statsmodels使用户能够通过使用各种统计模型的估算方法进行数据挖掘,并执行统计判断和分析。

 许多有用的特征是可被描述的,并通过使用线性回归模型,广义线性模型,离散选择模型,鲁棒线性模型,时间序列分析模型,各种估计方法得出统计结果。

这个库还提供了广泛的标定功能,专门用于大数据统计中的性能优化工作。 

总结

许多数据科学家和工程师认为这些库是顶级的,并值得关注,或者需要或多或少了解它们。 以下是每个库在Github上的详细统计资料:

当然,这不是完全详尽的列表,还有许多其他的库和框架也是值得关注。一个很好的例子是SciKit的不同软件包各自专注一个特定的领域,如SciKit-Image是用于处理图像的。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

2017,最受欢迎的 15 大 Pyth

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

2017,最受欢迎的 15 大 Pyth

2017,最受欢迎的 15 大 Python 库有哪些?本文作者:林立宏2017-06-22 19:23雷锋网按:本文作者为 ActiveWizards 的数据顾问 Igor Bobriakov,雷锋网林立宏与 Raey Raey Li
2023-01-31

探讨2018年最受欢迎的15顶级Pyth

近日,数据科学网站 KDnuggets 评选出了顶级 Python 库 Top15,领域横跨数据科学、数据可视化、深度学习和机器学习。如果本文有哪些遗漏,你可以在评论区补充。 图 1:根据 GitHub star 和贡献评选出的 2018
2023-01-30

最受欢迎的vim插件有哪些

这篇文章主要介绍了最受欢迎的vim插件有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇最受欢迎的vim插件有哪些文章都会有所收获,下面我们一起来看看吧。先来个福利: Pathogen首先,可能不是所有人都熟
2023-06-27

最受欢迎的Python开源框架有哪些

本文小编为大家详细介绍“最受欢迎的Python开源框架有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“最受欢迎的Python开源框架有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.DjangoDja
2023-06-27

五个最受欢迎的Go语言课程推荐

在当今信息技术迅速发展的时代,学习一门编程语言已经成为许多人的选择。其中,Go语言凭借其卓越的性能和简洁的语法成为了很多人的首选。而要学习一门新的编程语言,一门优质的课程是必不可少的。在这篇文章中,我将向大家推荐五个最受欢迎的Go语言课程。
五个最受欢迎的Go语言课程推荐
2024-01-30

Python中最受欢迎的科学类库有哪些

本篇内容主要讲解“Python中最受欢迎的科学类库有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中最受欢迎的科学类库有哪些”吧!Python有以下三个特点:易用性和灵活性、全行
2023-06-27

最受IT公司欢迎的30款开源软件

红帽发布2019年企业开源调查报告Part1 web服务器1、Nginx2、Lighttpd3、Tomcat4、Apache HTTP ServerPart2 大数据与云计算5、Hadoop6、Docker7、Spark8、Storm9、C
2023-08-03

Linux系统最受欢迎的10个可视化工具介绍

这篇文章主要讲解了“Linux系统最受欢迎的10个可视化工具介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统最受欢迎的10个可视化工具介绍”吧!1.MySQL Workben
2023-06-16

目前最受欢迎的12个Python web框架分别是什么

今天就跟大家聊聊有关目前最受欢迎的12个Python web框架分别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Python作为胶水语言,随AI时代来临备受追捧。其发展方向有
2023-06-05

C++ 生态系统中最受欢迎的库和框架有哪些?

c++++ 生态系统中的热门库和框架包括 boost(实用工具、数据结构和算法)、qt(跨平台应用框架)、eigen(线性代数计算)、ffmpeg(多媒体操作)。这些库和框架可大大简化开发过程,为构建高效、可靠的 c++ 应用程序提供强大支
C++ 生态系统中最受欢迎的库和框架有哪些?
2024-05-14

PHP为何成为最受欢迎的服务器端脚本语言

PHP为何成为最受欢迎的服务器端脚本语言PHP(Hypertext Preprocessor)是一种通用开源脚本语言,特别适用于服务器端开发。自诞生以来,PHP一直被广泛应用于Web开发领域,成为最受欢迎的服务器端脚本语言之一。那么,PH
PHP为何成为最受欢迎的服务器端脚本语言
2024-03-15

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录