由于近年来Python已经在数据科学领域引起了很大的关注,我想根据最近的经验,为数据科学家和工程师列出一些最有用的库。

由于所有的库都是开源的,我们增加了来自Github的提交,贡献者,计数和其他指标,这可以作为python数据科学库流行度的代理指标。

核心库 
1、Numpy

Numpy(stands for Numerical Python)当开始尝试用Python解决科学任务时,numpy是基石,它能操作数组和矩阵提供了丰富的特性。该库提供了NumPy数组类型的数学运算向量化,可以改善性能,从而加快执行速度。

2.SciPy

SciPy是一个工程和科学软件库。SciPy包含线性代数,优化,集成和统计的模块。 SciPy库的主要功能是建立在NumPy的基础之上,因此它的数组大量使用了NumPy。

3.Pandas

Pandas是一个可以方便处理表数据(经常接触,易于理解的excell表)。数据清洗的完美工具,被设计用来快速简单的数据操作,聚合和可视化。 在这个库中主要由两种数据结构:

pandas.Series - 1维

pandas.DataFrames - 2维

如下只是我们基于Pandas能做的事情的小清单:

在DataFrame中轻易地删除或者添加列 
把数据结构转换为DataFrame对象 
处理缺失数据,用NaNs代表 
GroupBy方法 
可视化 
Google Trends history

GitHub pull requests history

4.Matplotlib

MatPlotlib是python可视化库,它让Python正成为像MatLab或者Mathematica这样的科学工具的有力竞争者。然而,这个库相当底层,意味着你需要编写更多的代码才能达到高级的可视化效果,通常会比使用更多的高级工具付出更多的努力,但总体来说努力是值得的。

只需要一点功夫,你就能做出下面任何的可视化方法:

线图 
散点图 
条形图和直方图 
饼状图 
茎图 
等高线图 
矢量场图 
频谱图 
还有使用Matplotlib创建标签,图例和许多其他格式化实体的功能。 基本上,一切都是可定制的。

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

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

5.Seaborn

Seaborn主要聚焦于统计模型的可视化;这些可视化包括总结数据但仍描绘整体分布的热图。Seaborn是基于Matplotlib建立的,并高度依赖于那个包。

6.Bokeh

Boken是另一个强大的可视化库,目标是建立交互可视化的图标。与之前的库相比,这个库独立于Matplotlib。 正如我们已经提到的那样,Bokeh的主要聚焦在交互性,它通过现代浏览器以数据驱动文档(d3.js)的风格呈现。

7.Plotly

简单介绍一下Plotly。它是一个基于Web的工具箱,将API暴露给某些编程语言(其中包括Python)来构建可视化。 在http://plot.ly网站上有一些强大的,开箱即用的图形。为了使用Plotly,您将需要设置您的API密钥。图形将被处理在服务器端,并将在互联网上发布。

Google Trends history

GitHub pull requests history

机器学习 
8.SciKit-Learn

Scikits专为特定功能(如图像处理和机器学习辅助)而设计。 在这些领域,其中最突出的一个是scikit-learn。该软件包建立在SciPy的上层,并大量使用其数学操作。

scikit-learn公开了一个简洁和一致的界面,结合常见的机器学习算法,使得把机器学习带入生产系统变得简单。 此库有着高质量的代码和良好的文档,并使用简单性能优越,事实上是使用Python进行机器学习的行业标准。

深度学习 - Keras/TensorFlow/Theano 
在深度学习方面,Python中最突出和最方便的库之一是Keras,它可以在TensorFlow或者Theano之上运行。让我们来看一下他们的一些细节。

9.Theano

首先,让我们谈谈Theano。

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

重要的是要注意的是,Theano与NumPy在低层次的操作上紧密集成。 该库还优化了GPU和CPU的使用,使数据密集型计算的性能更快。

效率和稳定性调整允许更精确的结果,甚至非常小的值,例如,log(1 + x)的计算将给出x的最小值的认知结果。TensorFlow

10TensorFlow

TensorFlow是由Google的开发人员开发,它是一个图形化的数据流计算开源库,专注于机器学习。 它旨在满足Google环境对训练神经网络的高度要求,并且是基于神经网络的机器学习系统DistBelief的继任者。然而,TensorFlow并不是严格用于谷歌范围的科学用途 - 在一般的实际应用中同样有效。

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

11.Keras

最后,我们来看看Keras。它是一个用Python编写的用于在高级界面构建神经网络的开源库。它简单易懂又有着高度可扩展性。它使用Theano或TensorFlow作为后端,但Microsoft现在将CNTK(Microsoft的认知工具包)集成为新的后端。

设计中的极简方法旨在通过建立极小集进行快速和简单的实验。

Keras 真的非常容易入门而且可以通过快速标准逐渐深入。它是用纯Python编写的,高度模块化而又可扩展。尽管它的轻松,简单和高度定向,Keras仍然对大型模型有着足够深和有力的机器学习能力。

Keras的核心是基于层,其他一切都围绕着它们构建。数据预处理为张量tensor,第一层layer负责输入张量,最后一层负责输出,并建立模型。

Google Trends history

GitHub pull requests history

自然语言处理。 
12.NLTK

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

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

13.Gensim

它是一个用于Python的开源库,可以用来进行向量空间建模和主题建模的工具。 这个工具包不仅可以进行内存处理,还设计来高效处理大型文本。效率通过使用NumPy数据结构和SciPy操作来实现。既高效又易于使用。

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

Google Trends history

GitHub pull requests history

数据挖掘、统计 
14.Scrapy

Scrapy是用于从网络检索结构化数据(如联系人信息或URL)的爬行程序(也称为蜘蛛机器人)的库。

它是开源的,用Python编写。 它的设计严格按照爬行的方式,正如它的名字,但是它已经在完整的框架中发展,能够从API采集数据并作为通用爬虫。

该库在界面设计中着名的“不要重复自己” - 它提示用户编写将要重复使用的通用代码,从而构建和缩放大型爬虫。

Scrapy的架构围绕着Spider类构建,包含了爬行器跟踪的一系列指令。

15.Statsmodels

正如您可能从名称中猜出的那样,statsmodels是一个用于Python的库,使用户能够通过使用各种统计模型估计方法进行数据挖掘并执行统计断言和分析。

许多有用的特征是描述性的,并通过使用线性回归模型,广义线性模型,离散选择模型,鲁棒线性模型,时间序列分析模型,各种估计量进行统计。

该库还提供了可扩展的绘图功能,专门为统计分析和在进行大数据统计时表现良好而设计。

结论 
这些库被许多数据科学家和工程师认为是该列表的首位,值得一看,并至少熟悉它们。

以下是每个库Github活跃程度的详细统计资料:

当然,这不是完全详尽的列表,还有许多其他库,工具包和框架也是非常有用的,尤其是针对一些特别的任务。 一个很好的例子是不同的SciKit软件包,专注于特定领域,如用于处理图像的SciKit-Image

Python---(9)数据科学领域常用的15个Python包相关推荐

  1. 为什么说Python是数据科学领域的最佳语言?

    人人都说Python好,但Python究竟有多大的魔力能够如此备受欢迎? 近日,TIOBE 最新一期编程语言排行榜新鲜出炉,Python再次位居榜首.作为时下最火的编程语言,Python可以说是应用极 ...

  2. 为什么Python是数据科学领域最受欢迎的语言之一?

    为什么大多数数据科学家都喜欢Python?这篇文章会让你了解到,Python有很多完善的工具包可以协助你完成重要的数据科学任务. 根据Indeed,Glassdoor和Dice等职场网站所提供的信息, ...

  3. 为什么Python是数据科学领域最受欢迎的语言

    为什么大多数数据科学家都喜欢Python?这篇文章会让你了解到,Python有很多完善的工具包可以协助你完成重要的数据科学任务. 根据Indeed,Glassdoor和Dice等职场网站所提供的信息, ...

  4. 为什么Python在数据科学领域比R更受欢迎呢?

    2020-02-16 12:32:00 全文共2256字,预计学习时长7分钟 来源:aliyun 新入门的数据科学家都面临一个非常重要的问题:我应该学习Python还是R? 这个问题非常重要,因为学习 ...

  5. python打开各种文件格式_使用python读取数据科学最常用的文件格式(转)

    Author:kevinelstri DateTime:2017/3/13 1.什么是文件格式? 文件格式是在文件中存储信息的一种标准方法.首先,文件格式指定文件是一个二进制或ASCII文件.其次,文 ...

  6. python读什么类型文件最快的软件_使用python读取数据科学最常用的文件格式(转)...

    My First Heading My first paragraph.

  7. python优秀库_2017年度15个优秀的数据科学领域Python库

    由于近年来Python已经在数据科学领域引起了很大的关注,我想根据最近的经验,为数据科学家和工程师列出一些最有用的库. 由于所有的库都是开源的,我们增加了来自Github的提交,贡献者,计数和其他指标 ...

  8. python的numpy库结构_NumPy构成了数据科学领域中许多Python库的基础。

    关于数据科学的一切都始于数据,数据以各种形式出现.数字.图像.文本.x射线.声音和视频记录只是数据源的一些例子.无论数据采用何种格式,都需要将其转换为一组待分析的数字.因此,有效地存储和修改数字数组在 ...

  9. chatgpt赋能python:Python是一门非常流行的编程语言,它被广泛应用于不同领域的软件开发中,包括Web开发、数据科学、人工智能等。虽然Python本身非常强大和灵活,但是要让自己的Pyt

    Python是一门非常流行的编程语言,它被广泛应用于不同领域的软件开发中,包括Web开发.数据科学.人工智能等.虽然Python本身非常强大和灵活,但是要让自己的Python代码在互联网上被搜索引擎优 ...

最新文章

  1. 关于学习Python的一点学习总结(43->类中的方法重写)
  2. Science长文综述:通过空间斑图形成避免复杂系统崩溃
  3. linux虚拟实验服务,Linux虚拟服务器(LVS)实验文档PDF
  4. aspen变压吸附塔_空压机科普:吸附式干燥机的结构和原理
  5. react-hooks_在5分钟内学习React Hooks-初学者教程
  6. 聊聊 Spring Boot 2.x 那些事儿
  7. fftw3 嵌入式linux安装,Ubuntu18.04下快速的安装UHD与GnuRadio并连接USRP设备
  8. MapInfo启动时,提示the Microsoft jet engine is not available
  9. 更改自身web项目的图标(默认为tomcat的小喵咪)
  10. Python基础 ( 六 ) —— 迭代器和生成器
  11. 6月18日,熊才权教授软件工程专业建设与示范教学
  12. 网课(学习通 智慧树)
  13. 哪些应用场景在使用语音连麦
  14. 强联通分量:Tarjan缩点
  15. 2022学生党蓝牙耳机怎么选?最新蓝牙耳机排行榜
  16. MATLAB-网页访问与关闭
  17. 09款苹果笔记本图片_简单分辨二手苹果笔记本(MacBook Pro)年份的方法
  18. 沧海一粟小组(第一次作业)
  19. toad for oracle12.11,Toad for Oracle 12.11 - 安装指南
  20. 通知计算机大赛的英语作文,奥林匹克英语作文大赛范文.doc

热门文章

  1. SysLink Overview
  2. 带你一文看懂MySqL中的事务与索引
  3. html 表格 单击,在HTML表格中单击“空”单元格
  4. mysql 8.0数据备份恢复_RDS for MySQL8.0物理备份恢复到本地自建数据库
  5. php如何上传文件,PHP上传文件
  6. Netty与mina的比较
  7. 【大数据课堂0006】【oracle】python3/plsql 使用cx_Oracle遇到到的坑
  8. centos-7部署docker
  9. 杭电oj首字母变大写
  10. 洛谷 P3382 【模板】三分法