中企动力 > 头条 > python怎么下载库

网站性能检测评分

注:本网站页面html检测工具扫描网站中存在的基本问题,仅供参考。

python怎么下载库

Python库大全:涵盖了Python应用的方方面面 流量视频课程

img

Zong

关注

学Python,想必大家都是从爬虫开始的吧。毕竟网上类似的资源很丰富,开源项目也非常多。Python学习网络爬虫主要分3个大的版块:抓取,分析,存储当我们在浏览器中输入一个url后回车,后台会发生什么。简单来说这段过程发生了以下四个步骤:

查找域名对应的IP地址。向IP对应的服务器发送请求。服务器响应请求,发回网页内容。浏览器解析网页内容。

网络爬虫要做的,简单来说,就是实现浏览器的功能。通过指定url,直接返回给用户所需要的数据,而不需要一步步人工去操纵浏览器获取。抓取这一步,你要明确要得到的内容是什么?是HTML源码,还是Json格式的字符串等。将得到内容逐一解析就好。具体的如何解析,以及如何处理数据,文章后面提供了非常详细的且功能强大的开源库列表。当然了,爬去别人家的数据,很有可能会遭遇反爬虫机制的,怎么办?使用代理。适用情况:限制IP地址情况,也可解决由于“频繁点击”而需要输入验证码登录的情况。这种情况最好的办法就是维护一个代理IP池,网上有很多免费的代理IP,良莠不齐,可以通过筛选找到能用的。如果你学习迷茫找不到学习方法资料可以加裙 227+435+450免费分享对于“频繁点击”的情况,我们还可以通过限制爬虫访问网站的频率来避免被网站禁掉。有些网站会检查你是不是真的浏览器访问,还是机器自动访问的。这种情况,加上User-Agent,表明你是浏览器访问即可。有时还会检查是否带Referer信息还会检查你的Referer是否合法,一般再加上Referer。也就是伪装成浏览器,或者反“反盗链”。对于网站有验证码的情况,我们有三种办法:

使用代理,更新IP。使用cookie登陆。验证码识别。

接下来我们重点聊聊验证码识别。可以利用开源的Tesseract-OCR系统进行验证码图片的下载及识别,将识别的字符传到爬虫系统进行模拟登陆。当然也可以将验证码图片上传到打码平台上进行识别。如果不成功,可以再次更新验证码识别,直到成功为止。好了,爬虫就简单聊到这儿,有兴趣的朋友可以去网上搜索更详细的内容。文末附上本文重点:实用Python库大全。网络

urllib -网络库(stdlib)。requests -网络库。grab – 网络库(基于pycurl)。pycurl – 网络库(绑定libcurl)。urllib3 – Python HTTP库,安全连接池、支持文件post、可用性高。httplib2 – 网络库。RoboBrowser – 一个简单的、极具Python风格的Python库,无需独立的浏览器即可浏览网页。MechanicalSoup -一个与网站自动交互Python库。mechanize -有状态、可编程的Web浏览库。socket – 底层网络接口(stdlib)。

网络爬虫框架

grab – 网络爬虫框架(基于pycurl/multicur)。scrapy – 网络爬虫框架。pyspider – 一个强大的爬虫系统。cola – 一个分布式爬虫框架。

HTML/XML解析器

lxml – C语言编写高效HTML/ XML处理库。支持XPath。cssselect – 解析DOM树和CSS选择器。pyquery – 解析DOM树和jQuery选择器。BeautifulSoup – 低效HTML/ XML处理库,纯Python实现。html5lib – 根据WHATWG规范生成HTML/ XML文档的DOM。该规范被用在现在所有的浏览器上。feedparser – 解析RSS/ATOM feeds。MarkupSafe – 为XML/HTML/XHTML提供了安全转义的字符串。

文本处理用于解析和操作简单文本的库。

difflib – (Python标准库)帮助进行差异化比较。Levenshtein – 快速计算Levenshtein距离和字符串相似度。fuzzywuzzy – 模糊字符串匹配。esmre – 正则表达式加速器。ftfy – 自动整理Unicode文本,减少碎片化。

自然语言处理处理人类语言问题的库。

NLTK -编写Python程序来处理人类语言数据的最好平台。Pattern – Python的网络挖掘模块。他有自然语言处理工具,机器学习以及其它。TextBlob – 为深入自然语言处理任务提供了一致的API。是基于NLTK以及Pattern的巨人之肩上发展的。jieba – 中文分词工具。SnowNLP – 中文文本处理库。loso – 另一个中文分词库。

浏览器自动化与仿真

selenium – 自动化真正的浏览器(Chrome浏览器,火狐浏览器,Opera浏览器,IE浏览器)。Ghost.py – 对PyQt的webkit的封装(需要PyQT)。Spynner – 对PyQt的webkit的封装(需要PyQT)。Splinter – 通用API浏览器模拟器(selenium web驱动,Django客户端,Zope)。

多重处理

threading – Python标准库的线程运行。对于I/O密集型任务很有效。对于CPU绑定的任务没用,因为python GIL。multiprocessing – 标准的Python库运行多进程。celery – 基于分布式消息传递的异步任务队列/作业队列。concurrent-futures – concurrent-futures 模块为调用异步执行提供了一个高层次的接口。

异步异步网络编程库

asyncio – (在Python 3.4 +版本以上的 Python标准库)异步I/O,时间循环,协同程序和任务。Twisted – 基于事件驱动的网络引擎框架。Tornado – 一个网络框架和异步网络库。pulsar – Python事件驱动的并发框架。diesel – Python的基于绿色事件的I/O框架。gevent – 一个使用greenlet 的基于协程的Python网络库。eventlet – 有WSGI支持的异步框架。Tomorrow – 异步代码的奇妙的修饰语法。

队列

celery – 基于分布式消息传递的异步任务队列/作业队列。huey – 小型多线程任务队列。mrq – Mr. Queue – 使用redis & Gevent 的Python分布式工作任务队列。RQ – 基于Redis的轻量级任务队列管理器。simpleq – 一个简单的,可无限扩展,基于Amazon SQS的队列。python-gearman – Gearman的Python API。

云计算

picloud – 云端执行Python代码。dominoup – 云端执行R,Python和matlab代码

网页内容提取提取网页内容的库。

HTML页面的文本和元数据newspaper – 用Python进行新闻提取、文章提取和内容策展。html2text – 将HTML转为Markdown格式文本。python-goose – HTML内容/文章提取器。lassie – 人性化的网页内容检索工具

WebSocket用于WebSocket的库。

Crossbar – 开源的应用消息传递路由器(Python实现的用于Autobahn的WebSocket和WAMP)。AutobahnPython – 提供了WebSocket协议和WAMP协议的Python实现并且开源。WebSocket-for-Python – Python 2和3以及PyPy的WebSocket客户端和服务器库。

DNS解析

dnsyo – 在全球超过1500个的DNS服务器上检查你的DNS。pycares – c-ares的接口。c-ares是进行DNS请求和异步名称决议的C语言库。

计算机视觉

OpenCV – 开源计算机视觉库。SimpleCV – 用于照相机、图像处理、特征提取、格式转换的简介,可读性强的接口(基于OpenCV)。mahotas – 快速计算机图像处理算法(完全使用 C++ 实现),完全基于 numpy 的数组作为它的数据类型。

代理服务器

shadowsocks – 一个快速隧道代理,可帮你穿透防火墙(支持TCP和UDP,TFO,多用户和平滑重启,目的IP黑名单)。tproxy – tproxy是一个简单的TCP路由代理(第7层),基于Gevent,用Python进行配置。

另:Python有很多Web开发框架,大而全的开发框架非Django莫属,用得也最广泛.有很多公司有使用Django框架,如某狐,某讯等。以简洁著称的web.py,flask都非常易于上手,以异步高性能著称的tornado,源代码写得美如画,知乎,Quora都在用。最后祝大家学的愉快,学的神速。

2017年最流行的15个数据科学Python库 公司视频课程

img

时光纪

关注

选自Medium

作者:Igor Bobriakov

机器之心编译

参与:朱朝阳、吴攀

Python 近几年在数据科学行业获得了人们的极大青睐,各种资源也层出不穷。数据科学解决方案公司 ActiveWizards 近日根据他们自己的应用开发经验,总结了数据科学家和工程师将在 2017 年最常使用的 Python 库。

核心库

1)NumPy

地址:http://numpy.org

当使用 Python 开始处理科学任务时,不可避免地需要求助 Python 的 SciPy Stack,它是专门为 Python 中的科学计算而设计的软件的集合(不要与 SciPy 混淆,它只是这个 stack 的一部分,以及围绕这个 stack 的社区)。这个 stack 相当庞大,其中有十几个库,所以我们想聚焦在核心包上(特别是最重要的)。

NumPy(代表 Numerical Python)是构建科学计算 stack 的最基础的包。它为 Python 中的 n 维数组和矩阵的操作提供了大量有用的功能。该库还提供了 NumPy 数组类型的数学运算向量化,可以提升性能,从而加快执行速度。

2)SciPy

地址:https://scipy.org

SciPy 是一个工程和科学软件库。除此以外,你还要了解 SciPy Stack 和 SciPy 库之间的区别。SciPy 包含线性代数、优化、集成和统计的模块。SciPy 库的主要功能建立在 NumPy 的基础之上,因此它的数组大量使用了 NumPy。它通过其特定的子模块提供高效的数值例程操作,比如数值积分、优化和许多其他例程。SciPy 的所有子模块中的函数都有详细的文档,这也是一个优势。

3)Pandas

地址:http://pandas.pydata.org

Pandas 是一个 Python 包,旨在通过「标记(labeled)」和「关系(relational)」数据进行工作,简单直观。Pandas 是 data wrangling 的完美工具。它设计用于快速简单的数据操作、聚合和可视化。库中有两个主要的数据结构:

Series:一维

Data Frames:二维

例如,当你要从这两种类型的结构中接收到一个新的「Dataframe」类型的数据时,你将通过传递一个「Series」来将一行添加到「Dataframe」中来接收这样的 Dataframe:

这里只是一小撮你可以用 Pandas 做的事情:

轻松删除并添加「Dataframe」中的列将数据结构转换为「Dataframe」对象处理丢失数据,表示为 NaN(Not a Number)功能强大的分组

可视化

4)Matplotlib

地址:https://matplotlib.org

Matplotlib 是另一个 SciPy Stack 核心软件包和另一个 Python 库,专为轻松生成简单而强大的可视化而量身定制。它是一个顶尖的软件,使得 Python(在 NumPy、SciPy 和 Pandas 的帮助下)成为 MatLab 或 Mathematica 等科学工具的显著竞争对手。然而,这个库比较底层,这意味着你需要编写更多的代码才能达到高级的可视化效果,通常会比使用更高级工具付出更多努力,但总的来说值得一试。花一点力气,你就可以做到任何可视化:

线图散点图条形图和直方图饼状图茎图轮廓图场图频谱图

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

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

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

5)Seaborn

地址:https://seaborn.pydata.org

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

6)Bokeh

地址:http://bokeh.pydata.org

Bokeh 也是一个很好的可视化库,其目的是交互式可视化。与之前的库相反,这个库独立于 Matplotlib。正如我们已经提到的那样,Bokeh 的重点是交互性,它通过现代浏览器以数据驱动文档(d3.js)的风格呈现。

7)Plotly

地址:https://plot.ly

最后谈谈 Plotly。它是一个基于 Web 的工具箱,用于构建可视化,将 API 呈现给某些编程语言(其中包括 Python)。在 plot.ly 网站上有一些强大的、开箱即用的图形。为了使用 Plotly,你需要设置你的 API 密钥。图形处理会放在服务器端,并在互联网上发布,但也有一种方法可以避免这么做。

机器学习

8)SciKit-Learn

地址:http://scikit-learn.org

Scikits 是 SciPy Stack 的附加软件包,专为特定功能(如图像处理和辅助机器学习)而设计。在后者方面,其中最突出的一个是 scikit-learn。该软件包构建于 SciPy 之上,并大量使用其数学操作。

scikit-learn 有一个简洁和一致的接口,可利用常见的机器学习算法,让我们可以简单地在生产中应用机器学习。该库结合了质量很好的代码和良好的文档,易于使用且有着非常高的性能,是使用 Python 进行机器学习的实际上的行业标准。

深度学习:Keras / TensorFlow / Theano

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

9)Theano

地址:https://github/Theano

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

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

效率和稳定性调整允许更精确的结果,即使是非常小的值也可以,例如,即使 x 很小,log(1+x) 也能得到很好的结果。

10)TensorFlow

地址:https://tensorflow.org

TensorFlow 来自 Google 的开发人员,它是用于数据流图计算的开源库,专门为机器学习设计。它是为满足 Google 对训练神经网络的高要求而设计的,是基于神经网络的机器学习系统 DistBelief 的继任者。然而,TensorFlow 并不是谷歌的科学专用的——它也足以支持许多真实世界的应用。

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

11)Keras

地址:https://keras.io

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

其简约的设计旨在通过建立紧凑型系统进行快速和容易的实验。

Keras 极其容易上手,而且可以进行快速的原型设计。它完全使用 Python 编写的,所以本质上很高层。它是高度模块化和可扩展的。尽管它简单易用且面向高层,但 Keras 也非常深度和强大,足以用于严肃的建模。

Keras 的一般思想是基于神经网络的层,然后围绕层构建一切。数据以张量的形式进行准备,第一层负责输入张量,最后一层用于输出。模型构建于两者之间。

自然语言处理

12)NLTK

地址:http://nltk.org

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

NLTK 允许许多操作,例如文本标记、分类和 tokenizing、命名实体识别、建立语语料库树(揭示句子间和句子内的依存性)、词干提取、语义推理。所有的构建块都可以为不同的任务构建复杂的研究系统,例如情绪分析、自动摘要。

13)Gensim

地址:http://radimrehurek/gensim

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

Gensim 的目标是可以应用原始的和非结构化的数字文本。Gensim 实现了诸如分层 Dirichlet 进程(HDP)、潜在语义分析(LSA)和潜在 Dirichlet 分配(LDA)等算法,还有 tf-idf、随机投影、word2vec 和 document2vec,以便于检查一组文档(通常称为语料库)中文本的重复模式。所有这些算法是无监督的——不需要任何参数,唯一的输入是语料库。

数据挖掘与统计

14)Scrapy

地址:https://scrapy.org

Scrapy 是用于从网络检索结构化数据(如联系人信息或 URL)的爬虫程序(也称为 spider bots)的库。它是开源的,用 Python 编写。它最初是为 scraping 设计的,正如其名字所示的那样,但它现在已经发展成了一个完整的框架,可以从 API 收集数据,也可以用作通用的爬虫。

该库在接口设计上遵循著名的 Don』t Repeat Yourself 原则——提醒用户编写通用的可复用的代码,因此可以用来开发和扩展大型爬虫。

Scrapy 的架构围绕 Spider 类构建,该类包含了一套爬虫所遵循的指令。

15)Statsmodels

地址:http://statsmodels.org

statsmodels 是一个用于 Python 的库,正如你可能从名称中猜出的那样,其让用户能够通过使用各种统计模型估计方法以及执行统计断言和分析来进行数据探索。

许多有用的特征是描述性的,并可通过使用线性回归模型、广义线性模型、离散选择模型、稳健的线性模型、时序分析模型、各种估计器进行统计。

该库还提供了广泛的绘图函数,专门用于统计分析和调整使用大数据统计数据的良好性能。

结论

这个列表中的库被很多数据科学家和工程师认为是最顶级的,了解和熟悉它们是很有价值的。这里有这些库在 GitHub 上活动的详细统计:

当然,这并不是一份完全详尽的列表,还有其它很多值得关注的库、工具包和框架。比如说用于特定任务的 SciKit 包,其中包括用于图像的 SciKit-Image。如果你也有好想法,不妨与我们分享。

Python库Windows下安装方法和常用库安装 互联网视频课程

img

褚文轩

关注

Python库Windows下安装方法和常用库安装(pandas/numpy/matplotlib/scipy)

作者:优选财经网( youxuancaijing )

Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。

Windows下python库的3种常用安装方法

1.pip安装(需要pip)2.通过下载whl文件安装(需要pip)3.在pythn官网下载安装包安装(不需要pip)

方法一:pip安装。

这是最常用的python安装方法,新版的python一般自带pip.exe程序,在CMD中输入pip 可以查看相关参数

通常我们输入指令 pip install xxx来让python自动安装。比如:

pip install pandas

如上图所示,他会自动下载用到的相关包。但是,在安装一些库的时候,往往会报出各种各样的错误。

方法二:通过下载whl文件安装

1.下载相应库的whl文件,网址Python Extension Packages。注意要下载相应版本的,还有32还是64位系统。

2.cmd上输入pip install .whl文件名即可。 要完整的文件

方法三:官网下载文件安装

1)下载

2)解压

3)在命令提示符窗口中,使用cd进入到解压后的文件的路径下

4)输入命令python setup.py install

常用的两个下载包和模块安装文件的网站:PyPI-the Python Package Index和Python Extension Packages。

最后,我们通过pip命令,顺利安装我们后面要用的这个几个包,这些包的具体功能和用法,我们后期再做详细讲解。

pip install numpypip install pandaspip install matplotlibpip install scipy

人生苦短,我用python。

Python资源大全,让你相见恨晚的Python库! 营销视频课程

img

傲旋

关注

环境管理

管理 Python 版本和环境的工具

p – 非常简单的交互式 python 版本管理工具。pyenv – 简单的 Python 版本管理工具。Vex – 可以在虚拟环境中执行命令。virtualenv – 创建独立 Python 环境的工具。virtualenvwrapper– virtualenv 的一组扩展。

包管理

管理包和依赖的工具。

pip – Python 包和依赖关系管理工具。pip-tools – 保证 Python 包依赖关系更新的一组工具。conda – 跨平台,Python 二进制包管理工具。Curdling – 管理 Python 包的命令行工具。wheel – Python 分发的新标准,意在取代 eggs。

包仓库

本地 PyPI 仓库服务和代理。

warehouse – 下一代 PyPI。Warehouse bandersnatch – PyPA 提供的 PyPI 镜像工具。devpi – PyPI 服务和打包/测试/分发工具。localshop – 本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。

分发

打包为可执行文件以便分发。

PyInstaller – 将 Python 程序转换成独立的执行文件(跨平台)。dh-virtualenv – 构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。Nuitka – 将脚本、模块、包编译成可执行文件或扩展模块。py2app – 将 Python 脚本变为独立软件包(Mac OS X)。py2exe – 将 Python 脚本变为独立软件包(Windows)。pynsist – 一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。

构建工具

将源码编译成软件。

buildout – 一个构建系统,从多个组件来创建,组装和部署应用。BitBake – 针对嵌入式 Linux 的类似 make 的构建工具。fabricate – 对任何语言自动找到依赖关系的构建工具。PlatformIO – 多平台命令行构建工具。PyBuilder – 纯 Python 实现的持续化构建工具。SCons – 软件构建工具。

交互式解析器

交互式 Python 解析器。

IPython – 功能丰富的工具,非常有效的使用交互式 Python。bpython– 界面丰富的 Python 解析器。ptpython – 高级交互式Python解析器, 构建于python-prompt-toolkit 之上。

文件

文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。

imghdr – (Python 标准库)检测图片类型。mimetypes – (Python 标准库)将文件名映射为 MIME 类型。path.py – 对 os.path 进行封装的模块。pathlib – (Python3.4+ 标准库)跨平台的、面向对象的路径操作库。python-magic– 文件类型检测的第三方库 libmagic 的 Python 接口。Unipath– 用面向对象的方式操作文件和目录watchdog – 管理文件系统事件的 API 和 shell 工具

日期和时间

操作日期和时间的类库。

arrow– 更好的 Python 日期时间操作类库。Chronyk – Python 3 的类库,用于解析手写格式的时间和日期。dateutil – Python datetime 模块的扩展。delorean– 解决 Python 中有关日期处理的棘手问题的库。moment – 一个用来处理时间和日期的Python库。灵感来自于Moment.js。PyTime – 一个简单易用的Python模块,用于通过字符串来操作日期/时间。pytz – 现代以及历史版本的世界时区定义。将时区数据库引入Python。when.py – 提供用户友好的函数来帮助用户进行常用的日期和时间操作。

文本处理

用于解析和操作文本的库。

通用chardet – 字符编码检测器,兼容 Python2 和 Python3。difflib – (Python 标准库)帮助我们进行差异化比较。ftfy – 让Unicode文本更完整更连贯。fuzzywuzzy – 模糊字符串匹配。Levenshtein – 快速计算编辑距离以及字符串的相似度。pangu.py – 在中日韩语字符和数字字母之间添加空格。pyfiglet -figlet 的 Python实现。shortuuid – 一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。unidecode – Unicode 文本的 ASCII 转换形式 。uniout – 打印可读的字符,而不是转义的字符串。xpinyin – 一个用于把汉字转换为拼音的库。Slug化awesome-slugify – 一个 Python slug 化库,可以保持 Unicode。python-slugify – Python slug 化库,可以把 unicode 转化为 ASCII。unicode-slugify – 一个 slug 工具,可以生成 unicode slugs ,需要依赖 Django 。解析器phonenumbers – 解析,格式化,储存,验证电话号码。PLY – lex 和 yacc 解析工具的 Python 实现。Pygments – 通用语法高亮工具。pyparsing – 生成通用解析器的框架。python-nameparser – 把一个人名分解为几个独立的部分。python-user-agents – 浏览器 user agent 解析器。sqlparse – 一个无验证的 SQL 解析器。

特殊文本格式处理

一些用来解析和操作特殊文本格式的库。

通用tablib – 一个用来处理中表格数据的模块。OfficeMarmir – 把输入的Python 数据结构转换为电子表单。openpyxl – 一个用来读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的库。python-docx – 读取,查询以及修改 Microsoft Word 2007/2008 docx 文件。unoconv – 在 LibreOffice/OpenOffice 支持的任意文件格式之间进行转换。XlsxWriter – 一个用于创建 Excel .xlsx 文件的 Python 模块。xlwings – 一个使得在 Excel 中方便调用 Python 的库(反之亦然),基于 BSD 协议。xlwt / xlrd – 读写 Excel 文件的数据和格式信息。relatorio – 模板化OpenDocument 文件。PDFPDFMiner – 一个用于从PDF文档中抽取信息的工具。PyPDF2 – 一个可以分割,合并和转换 PDF 页面的库。ReportLab – 快速创建富文本 PDF 文档。MarkdownMistune – 快速并且功能齐全的纯 Python 实现的 Markdown 解析器。Python-Markdown – John Gruber’s Markdown 的 Python 版实现。YAMLPyYAML – Python 版本的 YAML 解析器。CSVcsvkit – 用于转换和操作 CSV 的工具。Archiveunp – 一个用来方便解包归档文件的命令行工具。

自然语言处理

用来处理人类语言的库。

NLTK – 一个先进的平台,用以构建处理人类语言数据的 Python 程序。jieba – 中文分词工具。langid.py – 独立的语言识别系统。Pattern – Python 网络信息挖掘模块。SnowNLP – 一个用来处理中文文本的库。TextBlob – 为进行普通自然语言处理任务提供一致的 API。TextGrocery – 一简单高效的短文本分类工具,基于 LibLinear 和 Jieba。

文档

用以生成项目文档的库。

Sphinx – Python 文档生成器。awesome-sphinxdocMkDocs – 对 Markdown 友好的文档生成器。pdoc – 一个可以替换Epydoc 的库,可以自动生成 Python 库的 API 文档。Pycco – 文学编程(literate-programming)风格的文档生成器。

配置

用来保存和解析配置的库。

config – logging 模块作者写的分级配置模块。ConfigObj – INI 文件解析器,带验证功能。ConfigParser – (Python 标准库) INI 文件解析器。profig – 通过多种格式进行配置,具有数值转换功能。python-decouple – 将设置和代码完全隔离。

命令行工具

用于创建命令行程序的库。

命令行程序开发cement – Python 的命令行程序框架。click – 一个通过组合的方式来创建精美命令行界面的包。cliff – 一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。clint – Python 命令行程序工具。colorama – 跨平台彩色终端文本。docopt – Python 风格的命令行参数解析器。Gooey – 一条命令,将命令行程序变成一个 GUI 程序。python-prompt-toolkit – 一个用于构建强大的交互式命令行程序的库。生产力工具aws-cli – Amazon Web Services 的通用命令行界面。bashplotlib – 在终端中进行基本绘图。caniusepython3 – 判断是哪个项目妨碍你你移植到 Python 3。cookiecutter – 从 cookiecutters(项目模板)创建项目的一个命令行工具。doitlive – 一个用来在终端中进行现场演示的工具。howdoi – 通过命令行获取即时的编程问题解答。httpie – 一个命令行HTTP 客户端,cURL 的替代品,易用性更好。PathPicker – 从bash输出中选出文件。percol – 向UNIX shell 传统管道概念中加入交互式选择功能。SAWS – 一个加强版的 AWS 命令行。thefuck – 修正你之前的命令行指令。mycli – 一个 MySQL 命令行客户端,具有自动补全和语法高亮功能。pgcli – Postgres 命令行工具,具有自动补全和语法高亮功能。

下载器

用来进行下载的库.

s3cmd – 一个用来管理Amazon S3 和 CloudFront 的命令行工具。s4cmd – 超级 S3 命令行工具,性能更加强劲。you-get – 一个 YouTube/Youku/Niconico 视频下载器,使用 Python3 编写。youtube-dl – 一个小巧的命令行程序,用来下载 YouTube 视频。

图像处理

用来操作图像的库.

pillow – Pillow 是一个更加易用版的 PIL。hmap – 图像直方图映射。imgSeek – 一个使用视觉相似性搜索一组图片集合的项目。nude.py – 裸体检测。pyBarcode – 不借助 PIL 库在 Python 程序中生成条形码。pygram – 类似 Instagram 的图像滤镜。python-qrcode – 一个纯 Python 实现的二维码生成器。Quads – 基于四叉树的计算机艺术。scikit-image – 一个用于(科学)图像处理的 Python 库。thumbor – 一个小型图像服务,具有剪裁,尺寸重设和翻转功能。wand – MagickWand的Python 绑定。MagickWand 是 ImageMagick的 C API 。

OCR

光学字符识别库。

pyocr – Tesseract 和 Cuneiform 的一个封装(wrapper)。pytesseract – Google Tesseract OCR 的另一个封装(wrapper)。python-tesseract – Google Tesseract OCR 的一个包装类。

音频

用来操作音频的库

audiolazy -Python 的数字信号处理包。audioread – 交叉库 (GStreamer + Core Audio + MAD + FFmpeg) 音频解码。beets – 一个音乐库管理工具及 MusicBrainz 标签添加工具dejavu – 音频指纹提取和识别django-elastic-transcoder – Django + Amazon Elastic Transcoder。eyeD3 – 一个用来操作音频文件的工具,具体来讲就是包含 ID3 元信息的 MP3 文件。id3reader – 一个用来读取 MP3 元数据的 Python 模块。m3u8 – 一个用来解析 m3u8 文件的模块。mutagen – 一个用来处理音频元数据的 Python 模块。pydub – 通过简单、简洁的高层接口来操作音频文件。pyechonest – Echo Nest API 的 Python 客户端talkbox – 一个用来处理演讲/信号的 Python 库TimeSide – 开源 web 音频处理框架。tinytag – 一个用来读取MP3, OGG, FLAC 以及 Wave 文件音乐元数据的库。mingus – 一个高级音乐理论和曲谱包,支持 MIDI 文件和回放功能。

Video

用来操作视频和GIF的库。

moviepy – 一个用来进行基于脚本的视频编辑模块,适用于多种格式,包括动图 GIFs。scikit-video – SciPy 视频处理常用程序。

地理位置

地理编码地址以及用来处理经纬度的库。

GeoDjango – 世界级地理图形 web 框架。GeoIP – MaxMind GeoIP Legacy 数据库的 Python API。geojson – GeoJSON 的 Python 绑定及工具。geopy – Python 地址编码工具箱。pygeoip – 纯 Python GeoIP API。django-countries – 一个 Django 应用程序,提供用于表格的国家选择功能,国旗图标静态文件以及模型中的国家字段。

HTTP

使用HTTP的库。

requests – 人性化的HTTP请求库。grequests – requests 库 + gevent ,用于异步 HTTP 请求.httplib2 – 全面的 HTTP 客户端库。treq – 类似 requests 的Python API 构建于 Twisted HTTP 客户端之上。urllib3 – 一个具有线程安全连接池,支持文件 post,清晰友好的 HTTP 库。

数据库

Python实现的数据库。

pickleDB – 一个简单,轻量级键值储存数据库。PipelineDB – 流式 SQL 数据库。TinyDB – 一个微型的,面向文档型数据库。ZODB – 一个 Python 原生对象数据库。一个键值和对象图数据库。

数据库驱动

用来连接和操作数据库的库。

MySQL – awesome-mysql系列mysql-python – Python 的 MySQL 数据库连接器。mysqlclient – mysql-python 分支,支持 Python 3。oursql – 一个更好的 MySQL 连接器,支持原生预编译指令和 BLOBs.PyMySQL – 纯 Python MySQL 驱动,兼容 mysql-python。PostgreSQLpsycopg2 – Python 中最流行的 PostgreSQL 适配器。queries – psycopg2 库的封装,用来和 PostgreSQL 进行交互。txpostgres – 基于 Twisted 的异步 PostgreSQL 驱动。其他关系型数据库apsw – 另一个 Python SQLite封装。dataset – 在数据库中存储Python字典 – 可以协同SQLite,MySQL,和 PostgreSQL工作。pymssql– 一个简单的Microsoft SQL Server数据库接口。NoSQL 数据库cassandra-python-driver – Cassandra 的 Python 驱动。HappyBase – 一个为 Apache HBase 设计的,对开发者友好的库。Plyvel – 一个快速且功能丰富的 LevelDB 的 Python 接口。py2neo – Neo4j restful 接口的Python 封装客户端。pycassa – Cassandra 的 Python Thrift 驱动。PyMongo – MongoDB 的官方 Python 客户端。redis-py – Redis 的 Python 客户端。telephus – 基于 Twisted 的 Cassandra 客户端。txRedis – 基于 Twisted 的 Redis 客户端。

ORM

实现对象关系映射或数据映射技术的库。

关系型数据库awesome-sqlalchemy系列Django Models – Django 的一部分。SQLAlchemy – Python SQL 工具以及对象关系映射工具。Peewee – 一个小巧,富有表达力的 ORM。PonyORM – 提供面向生成器的 SQL 接口的 ORM。python-sql – 编写 Python 风格的 SQL 查询。NoSQL 数据库django-mongodb-engine – Django MongoDB 后端。PynamoDB – Amazon DynamoDB 的一个 Python 风格接口。flywheel – Amazon DynamoDB 的对象映射工具。MongoEngine – 一个Python 对象文档映射工具,用于 MongoDB。hot-redis – 为 Redis 提供 Python 丰富的数据类型。redisco – 一个 Python 库,提供可以持续存在在 Redis 中的简单模型和容器。其他butterdb – Google Drive 电子表格的 Python ORM。

Web 框架

全栈 web 框架。

Django – Python 界最流行的 web 框架。awesome-django系列Flask – 一个 Python 微型框架。awesome-flask系列Pyramid – 一个小巧,快速,接地气的开源Python web 框架。awesome-pyramid系列Bottle – 一个快速小巧,轻量级的 WSGI 微型 web 框架。CherryPy – 一个极简的 Python web 框架,...

如何安装Python数据科学计算库? 推广视频课程

img

Roseau

关注

前言

如何使用Python进行科学计算和数据分析,这里我们就要用到Python的科学计算库,今天来分享一下如何安装Python的数据科学计算库。

数据科学计算库

Python中的数据科学计算库有Numpy、Scipy、pandas、matplotlib(前面我分享了一篇matplotlib的简单应用,历史文章里面就有)。

Numpy是一个基础性的Python库,为我们提供了常用的数值数组和函数。

Scipy是Python的科学计算库,对Numpy的功能进行了扩充,同时也有部分功能是重合的。Numpy和Scipy曾经共享过基础代码。

pandas是一个流行的开源Python项目,它的名称取panel data(面板数据,一个计量经济学的术语)和Python data analysis(Python数据分析)的意思。

matplotlib是一个基于Numpy的绘图库。

库的安装

安装这些库之前要先安装Python,默认已全部安装,(Windows直接下载安装,Linux自带2.7版本,可以自行安装3.6版本)。

为了节约时间在更重要的知识上,这里只介绍最简单的安装方式,即包管理工具安装Python库。

不管是Windows和Linux下,都可以在命令行下直接使用下面的命令来安装相关的库,前提是已经安装了pip包(pip包管理工具的相关安装可以看原文这里有链接):

pip install numpy scipy pandas matplotlib或(easy_install是Python自带的)easy_install numpy scipy pandas matplotlib#Linux下安装pip包sudo apt-get install python-pip

说明:Linux下如果涉及权限问题则需要开头添加sudo。安装示例如下所示:

Numpy数组简单示例

我们已经安装好了numpy,然后就可以来个简单的小测试了。与传统的Python列表相比,进行数值运算时,numpy数组的效率要高的多。

完成相同的运算时,numpy代码和Python传统代码相比用到的显式循环语句明显要少,因为numpy是基于向量化的运算。

假设要对向量a和b进行求和,这里的向量指的是一个“一维数组”,a存放的是整数0到n-1的2次幂,如果n等于3,则a存的是0、1、4,向量b存的是整数0到n的3次幂,下面来看一下普通Python代码和numpy来计算的差别:

先看代码:

#filename:vectorsSum.pyimport sysfrom datetime import datetimeimport numpy as np#numpy方法def numpySum(n):a = np.arange(n, dtype = 'int64')**2#3次幂太大会溢出,注意(后面细说)b = np.arange(n, dtype = 'int64')**3c = a + breturn c#普通方法def pythonSum(n):#range() 返回的是“range object”,而不是实际的list 值,所以这里要加上lista = list(range(n))b = list(range(n))c = []for i in range(len(a)):a[i] = i ** 2b[i] = i ** 3c.append(a[i] + b[i])return csize = int(sys.argv[1])start = datetime.now()c = pythonSum(size)delta = datetime.now() - startprint ("最后两个元素的和:", c[-2:])print ("pythonSum花费的时间(微秒)", delta.microseconds)start = datetime.now()c = numpySum(size)delta = datetime.now() - startprint ("最后两个元素的和:", c[-2:])print ("numpySum花费的时间(微秒)", delta.microseconds)#下面测试一下对与1000个,2000个,3000个向量元素,运行结果如下图所示。

看一下运行结果:

上面的结果看到,numpy的计算效率比普通的方法要快不少,所以开始学习吧。

小结

今天学习一下Python中的几个科学计算库的安装以及使用numpy进行简单的求和计算。希望通过上面的操作能帮助大家。如果你有什么好的意见,建议,或者有不同的看法,欢迎留言和我们进行交流、讨论。

End.

文章转载来源:CDA数据分析师

Python常用库大全 企业视频课程

img

德里克

关注

环境管理

管理 Python 版本和环境的工具

p – 非常简单的交互式 python 版本管理工具。 pyenv – 简单的 Python 版本管理工具。 Vex – 可以在虚拟环境中执行命令。 virtualenv – 创建独立 Python 环境的工具。 virtualenvwrapper- virtualenv 的一组扩展。 包管理

管理包和依赖的工具。

pip – Python 包和依赖关系管理工具。 pip-tools – 保证 Python 包依赖关系更新的一组工具。 conda – 跨平台,Python 二进制包管理工具。 Curdling – 管理 Python 包的命令行工具。 wheel – Python 分发的新标准,意在取代 eggs。 包仓库

本地 PyPI 仓库服务和代理。

warehouse – 下一代 PyPI。 Warehousebandersnatch – PyPA 提供的 PyPI 镜像工具。 devpi – PyPI 服务和打包/测试/分发工具。 localshop – 本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。 分发

打包为可执行文件以便分发。

PyInstaller – 将 Python 程序转换成独立的执行文件(跨平台)。 dh-virtualenv – 构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。 Nuitka – 将脚本、模块、包编译成可执行文件或扩展模块。 py2app – 将 Python 脚本变为独立软件包(Mac OS X)。 py2exe – 将 Python 脚本变为独立软件包(Windows)。 pynsist – 一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。 构建工具

将源码编译成软件。

buildout – 一个构建系统,从多个组件来创建,组装和部署应用。 BitBake – 针对嵌入式 Linux 的类似 make 的构建工具。 fabricate – 对任何语言自动找到依赖关系的构建工具。 PlatformIO – 多平台命令行构建工具。 PyBuilder – 纯 Python 实现的持续化构建工具。 SCons – 软件构建工具。 交互式解析器

交互式 Python 解析器。

IPython – 功能丰富的工具,非常有效的使用交互式 Python。 bpython- 界面丰富的 Python 解析器。 ptpython – 高级交互式Python解析器, 构建于python-prompt-toolkit 之上。 文件

文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。

imghdr – (Python 标准库)检测图片类型。 mimetypes – (Python 标准库)将文件名映射为 MIME 类型。 path.py – 对 os.path 进行封装的模块。 pathlib – (Python3.4+ 标准库)跨平台的、面向对象的路径操作库。 python-magic- 文件类型检测的第三方库 libmagic 的 Python 接口。 Unipath- 用面向对象的方式操作文件和目录 watchdog – 管理文件系统事件的 API 和 shell 工具 日期和时间

操作日期和时间的类库。

arrow- 更好的 Python 日期时间操作类库。 Chronyk – Python 3 的类库,用于解析手写格式的时间和日期。 dateutil – Python datetime 模块的扩展。 delorean- 解决 Python 中有关日期处理的棘手问题的库。 moment – 一个用来处理时间和日期的Python库。灵感来自于Moment.js。 PyTime – 一个简单易用的Python模块,用于通过字符串来操作日期/时间。 pytz – 现代以及历史版本的世界时区定义。将时区数据库引入Python。 when.py – 提供用户友好的函数来帮助用户进行常用的日期和时间操作。 文本处理

用于解析和操作文本的库。

通用 chardet – 字符编码检测器,兼容 Python2 和 Python3。 difflib – (Python 标准库)帮助我们进行差异化比较。 ftfy – 让Unicode文本更完整更连贯。 fuzzywuzzy – 模糊字符串匹配。 Levenshtein – 快速计算编辑距离以及字符串的相似度。 pangu.py – 在中日韩语字符和数字字母之间添加空格。 pyfiglet -figlet 的 Python实现。 shortuuid – 一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。 unidecode – Unicode 文本的 ASCII 转换形式 。 uniout – 打印可读的字符,而不是转义的字符串。 xpinyin – 一个用于把汉字转换为拼音的库。 Slug化 awesome-slugify – 一个 Python slug 化库,可以保持 Unicode。 python-slugify – Python slug 化库,可以把 unicode 转化为 ASCII。 unicode-slugify – 一个 slug 工具,可以生成 unicode slugs ,需要依赖 Django 。 解析器 phonenumbers – 解析,格式化,储存,验证电话号码。 PLY – lex 和 yacc 解析工具的 Python 实现。 Pygments – 通用语法高亮工具。 pyparsing – 生成通用解析器的框架。 python-nameparser – 把一个人名分解为几个独立的部分。 python-user-agents – 浏览器 user agent 解析器。 sqlparse – 一个无验证的 SQL 解析器。 特殊文本格式处理

一些用来解析和操作特殊文本格式的库。

通用 tablib – 一个用来处理中表格数据的模块。 Office Marmir – 把输入的Python 数据结构转换为电子表单。 openpyxl – 一个用来读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的库。 python-docx – 读取,查询以及修改 Microsoft Word 2007/2008 docx 文件。 unoconv – 在 LibreOffice/OpenOffice 支持的任意文件格式之间进行转换。 XlsxWriter – 一个用于创建 Excel .xlsx 文件的 Python 模块。 xlwings – 一个使得在 Excel 中方便调用 Python 的库(反之亦然),基于 BSD 协议。 xlwt / xlrd – 读写 Excel 文件的数据和格式信息。 relatorio – 模板化OpenDocument 文件。 PDF PDFMiner – 一个用于从PDF文档中抽取信息的工具。 PyPDF2 – 一个可以分割,合并和转换 PDF 页面的库。 ReportLab – 快速创建富文本 PDF 文档。 Markdown Mistune – 快速并且功能齐全的纯 Python 实现的 Markdown 解析器。 Python-Markdown – John Gruber’s Markdown 的 Python 版实现。 YAML PyYAML – Python 版本的 YAML 解析器。 CSV csvkit – 用于转换和操作 CSV 的工具。 Archive unp – 一个用来方便解包归档文件的命令行工具。 自然语言处理

用来处理人类语言的库。

NLTK – 一个先进的平台,用以构建处理人类语言数据的 Python 程序。 jieba – 中文分词工具。 langid.py – 独立的语言识别系统。 Pattern – Python 网络信息挖掘模块。 SnowNLP – 一个用来处理中文文本的库。 TextBlob – 为进行普通自然语言处理任务提供一致的 API。 TextGrocery – 一简单高效的短文本分类工具,基于 LibLinear 和 Jieba。 文档

用以生成项目文档的库。

Sphinx – Python 文档生成器。 awesome-sphinxdoc MkDocs – 对 Markdown 友好的文档生成器。 pdoc – 一个可以替换Epydoc 的库,可以自动生成 Python 库的 API 文档。 Pycco – 文学编程(literate-programming)风格的文档生成器。 配置

用来保存和解析配置的库。

config – logging 模块作者写的分级配置模块。 ConfigObj – INI 文件解析器,带验证功能。 ConfigParser – (Python 标准库) INI 文件解析器。 profig – 通过多种格式进行配置,具有数值转换功能。 python-decouple – 将设置和代码完全隔离。 命令行工具

用于创建命令行程序的库。

命令行程序开发 cement – Python 的命令行程序框架。 click – 一个通过组合的方式来创建精美命令行界面的包。 cliff – 一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。 clint – Python 命令行程序工具。 colorama – 跨平台彩色终端文本。 docopt – Python 风格的命令行参数解析器。 Gooey – 一条命令,将命令行程序变成一个 GUI 程序。 python-prompt-toolkit – 一个用于构建强大的交互式命令行程序的库。 生产力工具 aws-cli – Amazon Web Services 的通用命令行界面。 bashplotlib – 在终端中进行基本绘图。 caniusepython3 – 判断是哪个项目妨碍你你移植到 Python 3。 cookiecutter – 从 cookiecutters(项目模板)创建项目的一个命令行工具。 doitlive – 一个用来在终端中进行现场演示的工具。 howdoi – 通过命令行获取即时的编程问题解答。 httpie – 一个命令行HTTP 客户端,cURL 的替代品,易用性更好。 PathPicker – 从bash输出中选出文件。 percol – 向UNIX shell 传统管道概念中加入交互式选择功能。 SAWS – 一个加强版的 AWS 命令行。 thefuck – 修正你之前的命令行指令。 mycli – 一个 MySQL 命令行客户端,具有自动补全和语法高亮功能。 pgcli – Postgres 命令行工具,具有自动补全和语法高亮功能。 下载器

用来进行下载的库.

s3cmd – 一个用来管理Amazon S3 和 CloudFront 的命令行工具。 s4cmd – 超级 S3 命令行工具,性能更加强劲。 you-get – 一个 YouTube/Youku/Niconico 视频下载器,使用 Python3 编写。 youtube-dl – 一个小巧的命令行程序,用来下载 YouTube 视频。 图像处理

用来操作图像的库.

pillow – Pillow 是一个更加易用版的 PIL。 hmap – 图像直方图映射。 imgSeek – 一个使用视觉相似性搜索一组图片集合的项目。 nude.py – 裸体检测。 pyBarcode – 不借助 PIL 库在 Python 程序中生成条形码。 pygram – 类似 Instagram 的图像滤镜。 python-qrcode – 一个纯 Python 实现的二维码生成器。 Quads – 基于四叉树的计算机艺术。 scikit-image – 一个用于(科学)图像处理的 Python 库。 thumbor – 一个小型图像服务,具有剪裁,尺寸重设和翻转功能。 wand – MagickWand的Python 绑定。MagickWand 是 ImageMagick的 C API 。 OCR

光学字符识别库。

pyocr – Tesseract 和 Cuneiform 的一个封装(wrapper)。 pytesseract – Google Tesseract OCR 的另一个封装(wrapper)。 python-tesseract – Google Tesseract OCR 的一个包装类。 音频

用来操作音频的库

audiolazy -Python 的数字信号处理包。 audioread – 交叉库 (GStreamer + Core Audio + MAD + FFmpeg) 音频解码。 beets – 一个音乐库管理工具及 MusicBrainz 标签添加工具 dejavu – 音频指纹提取和识别 django-elastic-transcoder – Django + Amazon Elastic Transcoder。 eyeD3 – 一个用来操作音频文件的工具,具体来讲就是包含 ID3 元信息的 MP3 文件。 id3reader – 一个用来读取 MP3 元数据的 Python 模块。 m3u8 – 一个用来解析 m3u8 文件的模块。 mutagen – 一个用来处理音频元数据的 Python 模块。 pydub – 通过简单、简洁的高层接口来操作音频文件。 pyechonest – Echo Nest API 的 Python 客户端 talkbox – 一个用来处理演讲/信号的 Python 库 TimeSide – 开源 web 音频处理框架。 tinytag – 一个用来读取MP3, OGG, FLAC 以及 Wave 文件音乐元数据的库。 mingus – 一个高级音乐理论和曲谱包,支持 MIDI 文件和回放功能。 视频

用来操作视频和GIF的库。

moviepy – 一个用来进行基于脚本的视频编辑模块,适用于多种格式,包括动图 GIFs。 scikit-video – SciPy 视频处理常用程序。 地理位置

地理编码地址以及用来处理经纬度的库。

GeoDjango – 世界级地理图形 web 框架。 GeoIP – MaxMind GeoIP Legacy 数据库的 Python API。 geojson – GeoJSON 的 Python 绑定及工具。 geopy – Python 地址编码工具箱。 pygeoip – 纯 Python GeoIP API。 django-countries – 一个 Django 应用程序,提供用于表格的国家选择功能,国旗图标静态文件以及模型中的国家字段。 HTTP

使用HTTP的库。

requests – 人性化的HTTP请求库。 grequests – requests 库 + gevent ,用于异步 HTTP 请求. httplib2 – 全面的 HTTP 客户端库。 treq – 类似 requests 的Python API 构建于 Twisted HTTP 客户端之上。 urllib3 – 一个具有线程安全连接池,支持文件 post,清晰友好的 HTTP 库。 数据库

Python实现的数据库。

pickleDB – 一个简单,轻量级键值储存数据库。 PipelineDB – 流式 SQL 数据库。 TinyDB – 一个微型的,面向文档型数据库。 ZODB – 一个 Python 原生对象数据库。一个键值和对象图数据库。 数据库驱动

用来连接和操作数据库的库。

MySQL – awesome-mysql系列 mysql-python – Python 的 MySQL 数据库连接器。 mysqlclient – mysql-python 分支,支持 Python 3。 oursql – 一个更好的 MySQL 连接器,支持原生预编译指令和 BLOBs. PyMySQL – 纯 Python MySQL 驱动,兼容 mysql-python。 PostgreSQL psycopg2 – Python 中最流行的 PostgreSQL 适配器。 queries – psycopg2 库的封装,用来和 PostgreSQL 进行交互。 txpostgres – 基于 Twisted 的异步 PostgreSQL 驱动。 其他关系型数据库 apsw – 另一个 Python SQLite封装。 dataset – 在数据库中存储Python字典 – 可以协同SQLite,MySQL,和 PostgreSQL工作。 pymssql- 一个简单的Microsoft SQL Server数据库接口。 NoSQL 数据库 cassandra-python-driver – Cassandra 的 Python 驱动。 HappyBase – 一个为 Apache HBase 设计的,对开发者友好的库。 Plyvel – 一个快速且功能丰富的 LevelDB 的 Python 接口。 py2neo – Neo4j restful 接口的Python 封装客户端。 pycassa – Cassandra 的 Python Thrift 驱动。 PyMongo – MongoDB 的官方 Python 客户端。 redis-py – Redis 的 Python 客户端。 telephus – 基于 Twisted 的 Cassandra 客户端。 txRedis – 基于 Twisted 的 Redis 客户端。 ORM

实现对象关系映射或数据映射技术的库。

关系型数据库 Django Models – Django 的一部分。 SQLAlchemy – Python SQL 工具以及对象关系映射工具。 awesome-sqlalchemy系列 Peewee – 一个小巧,富有表达力的 ORM。 PonyORM – 提供面向生成器的 SQL 接口的 ORM。 python-sql – 编写 Python 风格的 SQL 查询。 NoSQL 数据库 django-mongodb-engine – Django MongoDB 后端。 PynamoDB – Amazon DynamoDB 的一个 Python 风格接口。 flywheel – Amazon DynamoDB 的对象映射工具。 MongoEngine – 一个Python 对象文档映射工具,用于 MongoDB。 hot-redis – 为 Redis 提供 Python 丰富的数据类型。 redisco – 一个 Python 库,提供可以持续存在在 Redis 中的简单模型和容器。 其他 butterdb – Google Drive 电子表格的 Python ORM。 Web 框架

全栈 web 框架。

Django – Python 界最流行的 web 框架。 awesome-django系列 Flask – 一个 Python 微型框...

2017年最流行的十大Python库 互联网视频课程

img

怀抱

关注

年末是你需要思考过去一年的成就的时候。对于程序员来说,这通常是回顾今年发布的或者最近流行的开源库,因为它们是解决特定问题的绝佳工具。

在过去的两个多年中,我们都会在博客中选取我们认为在Python社区最有用的库。今年也是如此。

这一次,这份列表基本都是机器学习(ML)的库。请非ML库的作者而且能够谅解,这都怪我们的偏见。希望在读到本文的人能评论并提出一些被我们忽略的伟大的库帮助我们矫正它。

那么,让我们开始盘点吧!

1. Pipenv

链接:https://github/pypa/pipenv

我们为今年年初发布的这个工具排到榜首,它有能力影响每个Python开发者的工作流程,它已经成为Python管理依赖项的官方推荐工具。

https://packaging.python.org/tutorials/managing-dependencies/#installing-pipenv

Pipenv最初是由Kenneth Reitz创立的一个周末项目,旨在将其他包管理者(如npm或yarn)的创意带入Python中。不再去安装virtualenv,virtualenvwrapper,管理requirements.txt文件,并确保对依赖项的依赖版本的再现性(https://kennethreitz.org/essays/a-better-pip-workflow)。使用Pipenv,你可以在Pipfile中指定所有的依赖关系(通常使用命令添加,删除或更新依赖关系)。该工具可以生成一个Pipfile.lock文件,使你的构建deterministic,帮助你避免那些因为你不知道是否需要的模糊依赖产生的难以捕捉的bug。

当然,Pipenv还有很多其他的特性,并且它的文档非常好,所以一定要看一下,并且在你所有的Python项目中使用它,就像我们在Tryolabs中做的那样。

2. PyTorch

链接:http://pytorch.org/

说到今年流行,尤其是在深度学习(DL)社区流行的库,那就要提到今年Facebook推出的DL框架PyTorch。

PyTorch构建并改进了流行的Torch框架,与Lua不同它是基于Python的。由于最近几年人们大多转向使用Python进行数据科学研究,它是让DL更容易接近的重要一步。

最值得注意的是,PyTorch已经成为众多研究人员的首选框架之一,因为它实现了动态计算图(Dynamic Computational Graph)范式。当使用TensorFlow,CNTK或MXNet等其他框架编写代码时,必须首先定义计算图。该图指定了我们的代码运行的所有操作,这些操作稍后会被编译并可能被框架优化,以便能够在GPU上并行运行得更快。这个范式被称为静态计算图,因为你可以利用各种优化,而且这个图形一旦建成,就有可能运行在不同的设备上(因为执行与构建分离)。然而,在自然语言处理等许多任务中,工作的量通常是可变的:在将图像提供给算法之前,可以将图像调整为固定的分辨率,但不能对可变长度的句子进行相同的处理。这是PyTorch和动态图的亮点,通过在代码中使用标准的Python控制指令,图在执行时被定义,给了你很多这对于一些任务来说必不可少的自由。

当然,PyTorch也为你计算梯度(就像你期望从任何现代的DL框架中获得的那样),速度非常快,而且是可扩展的,所以为什么不试试呢?

3. caffe2

链接:https://caffe2.ai/

这可能听起来很疯狂,但Facebook今年也发布了另一个很棒的DL框架。

原来的Caffe框架已被大众使用多年,以无与伦比的性能和久经考验的代码库而闻名。然而,最近DL的趋势使这个框架在某些方面停滞不前。Caffe2是将Caffe带入“现代世界”的尝试。

它支持分布式训练,部署(即使在移动平台上),最新的CPU并且支持CUDA的硬件。虽然PyTorch可能更适合研究,但Caffe2适合在Facebook上看到的大规模部署。

另外,请看看近期的ONNX。你可以在PyTorch中构建和训练模型,同时使用Caffe2进行部署!

4. Pendulum

链接:https://github/sdispater/pendulum

去年,Arrow被列入榜单,它旨在通过使用Python的datetime让你生活轻松一些。而今年,我们轮到Pendulum了。

Pendulum的优点之一是它是Python标准datetime类嵌入式的替代品,因此可以轻松地将其与现有代码集成,并且只有在实际需要时才使用它的功能。者已经特别注意确保正确地处理时区,默认每个实例的timezone-aware和UTC。你也将得到一个扩展timedelta,使datetime算法更简单。

与其他现有的库不同,它努力使API具有可预测的行为,所以你知道会发生什么。如果你正在做任何与datetimes有关的重要工作,这会让你更快乐!(查看更多:https://pendulum.eustace.io/docs/)。

5. Dash

https://plot.ly/products/dash/

如果你正在做数据科学,你会使用Python生态系统中的优秀工具,比如Pandas和scikit-learn。并在工作流程使用Jupyter Notebooks,这对你和你的同事来说非常棒。但是,你如何与那些不知道如何使用这些工具的人分享这项工作呢?你如何建立一个界面,使人们可以轻松地使用数据,可视化过程?过去,你需要一个前端团队,用Javascript知识来构建这些GUI。但现在不用了。

今年宣布的Dash是一个用于构建Web应用程序的Python开源库,尤其是那些充分利用数据可视化的Web应用程序。它建立在Flask,Plotly.js和React的基础上,并提供了抽象,使你不必学习这些框架,更高效的研发。这些应用程序可以在浏览器中呈现并响应,因此在移动设备中也能使用。

了解更多关于Dash:https://plot.ly/dash/gallery

6.PyFlux

Python中有许多库用来做数据科学和ML,但是当你的数据点是随着时间的推移而变化的度量(例如股票价格,从仪表中获得的度量等等)时,这样的库就很少了。

PyFlux是一个专门为时间序列而开发的 Python开源库。时间序列研究是统计学和计量经济学的一个分支,目标可以描述时间序列的表现(依据隐藏组件或特征),也能预测时间序列未来的表现。

PyFlux允许用于时间序列建模的概率方法,并且已经实现了几个像GARCH这样的现代时间序列模型。

7.Fire

https://github/google/python-fire

通常情况下,你需要为自己的项目制作命令行界面(CLI)。除了传统的argparse,Python中还有click或docopt可用。谷歌今年宣布的Fire,在解决同样的问题上提出了不同的方法。

Fire是一个开源的库,可以为任何Python项目自动生成一个CLI。没错,是自动的:你几乎不需要编写任何代码或文档来构建你的CLI!想完成你的CLI,只需要调用一个Fire方法并把它传递给一个CLI:一个函数,一个对象,一个类,一个字典,甚至你可以不传递任何参数(这会将你的整个代码转换为一个CLI)。这个库可以为你节省很多时间。

8.imbalanced-learn

https://github/scikit-learn-contrib/imbalanced-learn

在一个完美世界的里,我们会有完美平衡的数据集,我们将它们都拿来将训练模型,多么美好。可惜现实世界不是这样的,某些任务更倾向于不平衡的数据。例如,在预测信用卡交易中的欺诈行为时,你会预测绝大多数交易(+ 99.9%)实际上是合法的。如果我们简单的训练ML算法会出现令人沮丧的性能,所以在处理这些类型的数据集时需要特别小心。

幸运的是,这是一个已经被研究过的问题,存在各种各样解决的技术。Imbalanced-learn是一个Python包,它提供了关于这些技术的实现。它与scikit-learn兼容,是scikit-learn-contrib项目的一部分。

9. FlashText

https://github/vi3k6i5/flashtext

如果您需要搜索某些文本并将其替换为其他内容(如大多数数据清理工作),则通常将其转为正则表达式。他们能很好地完成这项工作,但是有时会发生这样的情况:需要搜索的数以千计的内容,正则表达式可能会非常缓慢。

为此,FlashText是一个更好的选择。它使整个操作的运行时间大大提高了。FlashText的优点在于无论搜索条件有多少,运行时都是一样的,而正则表达式中运行时几乎是随着条件数呈线性增长。

FlashText证明了算法和数据结构设计的重要性,即使对于简单的问题,更好的算法也可以很容易地胜过最快的cpu运行简单的实现。

10. Luminoth

https://luminoth.ai/

现在,图像无处不在,理解它的内容对于许多应用程序来说至关重要。值得庆幸的是,由于DL的进步,图像处理技术已经进步了很多。

Luminoth是一个使用TensorFlow和Sonnet构建的用于计算机视觉的开源Python工具包。目前,它可以支持以Faster R-CNN模型的形式进行对象检测。

但是Luminoth不仅是一个特定模型的实现。它是被构建为模块化和可扩展,所以可以直接定制现有的部分或者将其扩展为新的模型来处理不同的问题,尽可能多地复用代码。它提供的工具可以轻松完成构建DL模型所需的工程工作:将数据(在本例中为图像)转换合适的格式输送到数据管道(TensorFlow的tfrecords)中,执行数据增强,在一个或多个gpu上运行训练(使用大型数据集时必须进行分布式培训),运行评估度量,轻松地在TensorBoard中可视化 并用简单的API或浏览器界面部署训练号的模型,以便人们使用。

此外,Luminoth直接与Google Cloud的ML Engine集成,所以即使你没有强大的GPU,也可以使用命令在云端进行训练。

本文为编译文章,转载请注明出处。

来源:atyun_com

来源网址:http://atyun/13563_2017最流行的十大python库.html

Python库Windows下安装方法和常用库安装 企业视频课程

img

清楚

关注

Python库Windows下安装方法和常用库安装(pandas/numpy/matplotlib/scipy)

作者:优选财经网( youxuancaijing )

Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。

Windows下python库的3种常用安装方法

1.pip安装(需要pip)2.通过下载whl文件安装(需要pip)3.在pythn官网下载安装包安装(不需要pip)

方法一:pip安装。

这是最常用的python安装方法,新版的python一般自带pip.exe程序,在CMD中输入pip 可以查看相关参数

通常我们输入指令 pip install xxx来让python自动安装。比如:

pip install pandas

如上图所示,他会自动下载用到的相关包。但是,在安装一些库的时候,往往会报出各种各样的错误。

方法二:通过下载whl文件安装

1.下载相应库的whl文件,网址Python Extension Packages。注意要下载相应版本的,还有32还是64位系统。

2.cmd上输入pip install .whl文件名即可。 要完整的文件

方法三:官网下载文件安装

1)下载

2)解压

3)在命令提示符窗口中,使用cd进入到解压后的文件的路径下

4)输入命令python setup.py install

常用的两个下载包和模块安装文件的网站:PyPI-the Python Package Index和Python Extension Packages。

最后,我们通过pip命令,顺利安装我们后面要用的这个几个包,这些包的具体功能和用法,我们后期再做详细讲解。

pip install numpypip install pandaspip install matplotlibpip install scipy

人生苦短,我用python。

Python资源大全,让你相见恨晚的Python库! 营销视频课程

img

丹亦

关注

环境管理

管理 Python 版本和环境的工具

p – 非常简单的交互式 python 版本管理工具。pyenv – 简单的 Python 版本管理工具。Vex – 可以在虚拟环境中执行命令。virtualenv – 创建独立 Python 环境的工具。virtualenvwrapper– virtualenv 的一组扩展。

包管理

管理包和依赖的工具。

pip – Python 包和依赖关系管理工具。pip-tools – 保证 Python 包依赖关系更新的一组工具。conda – 跨平台,Python 二进制包管理工具。Curdling – 管理 Python 包的命令行工具。wheel – Python 分发的新标准,意在取代 eggs。

包仓库

本地 PyPI 仓库服务和代理。

warehouse – 下一代 PyPI。Warehouse bandersnatch – PyPA 提供的 PyPI 镜像工具。devpi – PyPI 服务和打包/测试/分发工具。localshop – 本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。

分发

打包为可执行文件以便分发。

PyInstaller – 将 Python 程序转换成独立的执行文件(跨平台)。dh-virtualenv – 构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。Nuitka – 将脚本、模块、包编译成可执行文件或扩展模块。py2app – 将 Python 脚本变为独立软件包(Mac OS X)。py2exe – 将 Python 脚本变为独立软件包(Windows)。pynsist – 一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。

构建工具

将源码编译成软件。

buildout – 一个构建系统,从多个组件来创建,组装和部署应用。BitBake – 针对嵌入式 Linux 的类似 make 的构建工具。fabricate – 对任何语言自动找到依赖关系的构建工具。PlatformIO – 多平台命令行构建工具。PyBuilder – 纯 Python 实现的持续化构建工具。SCons – 软件构建工具。

交互式解析器

交互式 Python 解析器。

IPython – 功能丰富的工具,非常有效的使用交互式 Python。bpython– 界面丰富的 Python 解析器。ptpython – 高级交互式Python解析器, 构建于python-prompt-toolkit 之上。

文件

文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。

imghdr – (Python 标准库)检测图片类型。mimetypes – (Python 标准库)将文件名映射为 MIME 类型。path.py – 对 os.path 进行封装的模块。pathlib – (Python3.4+ 标准库)跨平台的、面向对象的路径操作库。python-magic– 文件类型检测的第三方库 libmagic 的 Python 接口。Unipath– 用面向对象的方式操作文件和目录watchdog – 管理文件系统事件的 API 和 shell 工具

日期和时间

操作日期和时间的类库。

arrow– 更好的 Python 日期时间操作类库。Chronyk – Python 3 的类库,用于解析手写格式的时间和日期。dateutil – Python datetime 模块的扩展。delorean– 解决 Python 中有关日期处理的棘手问题的库。moment – 一个用来处理时间和日期的Python库。灵感来自于Moment.js。PyTime – 一个简单易用的Python模块,用于通过字符串来操作日期/时间。pytz – 现代以及历史版本的世界时区定义。将时区数据库引入Python。when.py – 提供用户友好的函数来帮助用户进行常用的日期和时间操作。

文本处理

用于解析和操作文本的库。

通用chardet – 字符编码检测器,兼容 Python2 和 Python3。difflib – (Python 标准库)帮助我们进行差异化比较。ftfy – 让Unicode文本更完整更连贯。fuzzywuzzy – 模糊字符串匹配。Levenshtein – 快速计算编辑距离以及字符串的相似度。pangu.py – 在中日韩语字符和数字字母之间添加空格。pyfiglet -figlet 的 Python实现。shortuuid – 一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。unidecode – Unicode 文本的 ASCII 转换形式 。uniout – 打印可读的字符,而不是转义的字符串。xpinyin – 一个用于把汉字转换为拼音的库。Slug化awesome-slugify – 一个 Python slug 化库,可以保持 Unicode。python-slugify – Python slug 化库,可以把 unicode 转化为 ASCII。unicode-slugify – 一个 slug 工具,可以生成 unicode slugs ,需要依赖 Django 。解析器phonenumbers – 解析,格式化,储存,验证电话号码。PLY – lex 和 yacc 解析工具的 Python 实现。Pygments – 通用语法高亮工具。pyparsing – 生成通用解析器的框架。python-nameparser – 把一个人名分解为几个独立的部分。python-user-agents – 浏览器 user agent 解析器。sqlparse – 一个无验证的 SQL 解析器。

特殊文本格式处理

一些用来解析和操作特殊文本格式的库。

通用tablib – 一个用来处理中表格数据的模块。OfficeMarmir – 把输入的Python 数据结构转换为电子表单。openpyxl – 一个用来读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的库。python-docx – 读取,查询以及修改 Microsoft Word 2007/2008 docx 文件。unoconv – 在 LibreOffice/OpenOffice 支持的任意文件格式之间进行转换。XlsxWriter – 一个用于创建 Excel .xlsx 文件的 Python 模块。xlwings – 一个使得在 Excel 中方便调用 Python 的库(反之亦然),基于 BSD 协议。xlwt / xlrd – 读写 Excel 文件的数据和格式信息。relatorio – 模板化OpenDocument 文件。PDFPDFMiner – 一个用于从PDF文档中抽取信息的工具。PyPDF2 – 一个可以分割,合并和转换 PDF 页面的库。ReportLab – 快速创建富文本 PDF 文档。MarkdownMistune – 快速并且功能齐全的纯 Python 实现的 Markdown 解析器。Python-Markdown – John Gruber’s Markdown 的 Python 版实现。YAMLPyYAML – Python 版本的 YAML 解析器。CSVcsvkit – 用于转换和操作 CSV 的工具。Archiveunp – 一个用来方便解包归档文件的命令行工具。

自然语言处理

用来处理人类语言的库。

NLTK – 一个先进的平台,用以构建处理人类语言数据的 Python 程序。jieba – 中文分词工具。langid.py – 独立的语言识别系统。Pattern – Python 网络信息挖掘模块。SnowNLP – 一个用来处理中文文本的库。TextBlob – 为进行普通自然语言处理任务提供一致的 API。TextGrocery – 一简单高效的短文本分类工具,基于 LibLinear 和 Jieba。

文档

用以生成项目文档的库。

Sphinx – Python 文档生成器。awesome-sphinxdocMkDocs – 对 Markdown 友好的文档生成器。pdoc – 一个可以替换Epydoc 的库,可以自动生成 Python 库的 API 文档。Pycco – 文学编程(literate-programming)风格的文档生成器。

配置

用来保存和解析配置的库。

config – logging 模块作者写的分级配置模块。ConfigObj – INI 文件解析器,带验证功能。ConfigParser – (Python 标准库) INI 文件解析器。profig – 通过多种格式进行配置,具有数值转换功能。python-decouple – 将设置和代码完全隔离。

命令行工具

用于创建命令行程序的库。

命令行程序开发cement – Python 的命令行程序框架。click – 一个通过组合的方式来创建精美命令行界面的包。cliff – 一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。clint – Python 命令行程序工具。colorama – 跨平台彩色终端文本。docopt – Python 风格的命令行参数解析器。Gooey – 一条命令,将命令行程序变成一个 GUI 程序。python-prompt-toolkit – 一个用于构建强大的交互式命令行程序的库。生产力工具aws-cli – Amazon Web Services 的通用命令行界面。bashplotlib – 在终端中进行基本绘图。caniusepython3 – 判断是哪个项目妨碍你你移植到 Python 3。cookiecutter – 从 cookiecutters(项目模板)创建项目的一个命令行工具。doitlive – 一个用来在终端中进行现场演示的工具。howdoi – 通过命令行获取即时的编程问题解答。httpie – 一个命令行HTTP 客户端,cURL 的替代品,易用性更好。PathPicker – 从bash输出中选出文件。percol – 向UNIX shell 传统管道概念中加入交互式选择功能。SAWS – 一个加强版的 AWS 命令行。thefuck – 修正你之前的命令行指令。mycli – 一个 MySQL 命令行客户端,具有自动补全和语法高亮功能。pgcli – Postgres 命令行工具,具有自动补全和语法高亮功能。

下载器

用来进行下载的库.

s3cmd – 一个用来管理Amazon S3 和 CloudFront 的命令行工具。s4cmd – 超级 S3 命令行工具,性能更加强劲。you-get – 一个 YouTube/Youku/Niconico 视频下载器,使用 Python3 编写。youtube-dl – 一个小巧的命令行程序,用来下载 YouTube 视频。

图像处理

用来操作图像的库.

pillow – Pillow 是一个更加易用版的 PIL。hmap – 图像直方图映射。imgSeek – 一个使用视觉相似性搜索一组图片集合的项目。nude.py – 裸体检测。pyBarcode – 不借助 PIL 库在 Python 程序中生成条形码。pygram – 类似 Instagram 的图像滤镜。python-qrcode – 一个纯 Python 实现的二维码生成器。Quads – 基于四叉树的计算机艺术。scikit-image – 一个用于(科学)图像处理的 Python 库。thumbor – 一个小型图像服务,具有剪裁,尺寸重设和翻转功能。wand – MagickWand的Python 绑定。MagickWand 是 ImageMagick的 C API 。

OCR

光学字符识别库。

pyocr – Tesseract 和 Cuneiform 的一个封装(wrapper)。pytesseract – Google Tesseract OCR 的另一个封装(wrapper)。python-tesseract – Google Tesseract OCR 的一个包装类。

音频

用来操作音频的库

audiolazy -Python 的数字信号处理包。audioread – 交叉库 (GStreamer + Core Audio + MAD + FFmpeg) 音频解码。beets – 一个音乐库管理工具及 MusicBrainz 标签添加工具dejavu – 音频指纹提取和识别django-elastic-transcoder – Django + Amazon Elastic Transcoder。eyeD3 – 一个用来操作音频文件的工具,具体来讲就是包含 ID3 元信息的 MP3 文件。id3reader – 一个用来读取 MP3 元数据的 Python 模块。m3u8 – 一个用来解析 m3u8 文件的模块。mutagen – 一个用来处理音频元数据的 Python 模块。pydub – 通过简单、简洁的高层接口来操作音频文件。pyechonest – Echo Nest API 的 Python 客户端talkbox – 一个用来处理演讲/信号的 Python 库TimeSide – 开源 web 音频处理框架。tinytag – 一个用来读取MP3, OGG, FLAC 以及 Wave 文件音乐元数据的库。mingus – 一个高级音乐理论和曲谱包,支持 MIDI 文件和回放功能。

Video

用来操作视频和GIF的库。

moviepy – 一个用来进行基于脚本的视频编辑模块,适用于多种格式,包括动图 GIFs。scikit-video – SciPy 视频处理常用程序。

地理位置

地理编码地址以及用来处理经纬度的库。

GeoDjango – 世界级地理图形 web 框架。GeoIP – MaxMind GeoIP Legacy 数据库的 Python API。geojson – GeoJSON 的 Python 绑定及工具。geopy – Python 地址编码工具箱。pygeoip – 纯 Python GeoIP API。django-countries – 一个 Django 应用程序,提供用于表格的国家选择功能,国旗图标静态文件以及模型中的国家字段。

HTTP

使用HTTP的库。

requests – 人性化的HTTP请求库。grequests – requests 库 + gevent ,用于异步 HTTP 请求.httplib2 – 全面的 HTTP 客户端库。treq – 类似 requests 的Python API 构建于 Twisted HTTP 客户端之上。urllib3 – 一个具有线程安全连接池,支持文件 post,清晰友好的 HTTP 库。

数据库

Python实现的数据库。

pickleDB – 一个简单,轻量级键值储存数据库。PipelineDB – 流式 SQL 数据库。TinyDB – 一个微型的,面向文档型数据库。ZODB – 一个 Python 原生对象数据库。一个键值和对象图数据库。

数据库驱动

用来连接和操作数据库的库。

MySQL – awesome-mysql系列mysql-python – Python 的 MySQL 数据库连接器。mysqlclient – mysql-python 分支,支持 Python 3。oursql – 一个更好的 MySQL 连接器,支持原生预编译指令和 BLOBs.PyMySQL – 纯 Python MySQL 驱动,兼容 mysql-python。PostgreSQLpsycopg2 – Python 中最流行的 PostgreSQL 适配器。queries – psycopg2 库的封装,用来和 PostgreSQL 进行交互。txpostgres – 基于 Twisted 的异步 PostgreSQL 驱动。其他关系型数据库apsw – 另一个 Python SQLite封装。dataset – 在数据库中存储Python字典 – 可以协同SQLite,MySQL,和 PostgreSQL工作。pymssql– 一个简单的Microsoft SQL Server数据库接口。NoSQL 数据库cassandra-python-driver – Cassandra 的 Python 驱动。HappyBase – 一个为 Apache HBase 设计的,对开发者友好的库。Plyvel – 一个快速且功能丰富的 LevelDB 的 Python 接口。py2neo – Neo4j restful 接口的Python 封装客户端。pycassa – Cassandra 的 Python Thrift 驱动。PyMongo – MongoDB 的官方 Python 客户端。redis-py – Redis 的 Python 客户端。telephus – 基于 Twisted 的 Cassandra 客户端。txRedis – 基于 Twisted 的 Redis 客户端。

ORM

实现对象关系映射或数据映射技术的库。

关系型数据库awesome-sqlalchemy系列Django Models – Django 的一部分。SQLAlchemy – Python SQL 工具以及对象关系映射工具。Peewee – 一个小巧,富有表达力的 ORM。PonyORM – 提供面向生成器的 SQL 接口的 ORM。python-sql – 编写 Python 风格的 SQL 查询。NoSQL 数据库django-mongodb-engine – Django MongoDB 后端。PynamoDB – Amazon DynamoDB 的一个 Python 风格接口。flywheel – Amazon DynamoDB 的对象映射工具。MongoEngine – 一个Python 对象文档映射工具,用于 MongoDB。hot-redis – 为 Redis 提供 Python 丰富的数据类型。redisco – 一个 Python 库,提供可以持续存在在 Redis 中的简单模型和容器。其他butterdb – Google Drive 电子表格的 Python ORM。

Web 框架

全栈 web 框架。

Django – Python 界最流行的 web 框架。awesome-django系列Flask – 一个 Python 微型框架。awesome-flask系列Pyramid – 一个小巧,快速,接地气的开源Python web 框架。awesome-pyramid系列Bottle – 一个快速小巧,轻量级的 WSGI 微型 web 框架。CherryPy – 一个极简的 Python web 框架,...

如何安装Python数据科学计算库? 推广视频课程

img

郜绯

关注

前言

如何使用Python进行科学计算和数据分析,这里我们就要用到Python的科学计算库,今天来分享一下如何安装Python的数据科学计算库。

数据科学计算库

Python中的数据科学计算库有Numpy、Scipy、pandas、matplotlib(前面我分享了一篇matplotlib的简单应用,历史文章里面就有)。

Numpy是一个基础性的Python库,为我们提供了常用的数值数组和函数。

Scipy是Python的科学计算库,对Numpy的功能进行了扩充,同时也有部分功能是重合的。Numpy和Scipy曾经共享过基础代码。

pandas是一个流行的开源Python项目,它的名称取panel data(面板数据,一个计量经济学的术语)和Python data analysis(Python数据分析)的意思。

matplotlib是一个基于Numpy的绘图库。

库的安装

安装这些库之前要先安装Python,默认已全部安装,(Windows直接下载安装,Linux自带2.7版本,可以自行安装3.6版本)。

为了节约时间在更重要的知识上,这里只介绍最简单的安装方式,即包管理工具安装Python库。

不管是Windows和Linux下,都可以在命令行下直接使用下面的命令来安装相关的库,前提是已经安装了pip包(pip包管理工具的相关安装可以看原文这里有链接):

pip install numpy scipy pandas matplotlib或(easy_install是Python自带的)easy_install numpy scipy pandas matplotlib#Linux下安装pip包sudo apt-get install python-pip

说明:Linux下如果涉及权限问题则需要开头添加sudo。安装示例如下所示:

Numpy数组简单示例

我们已经安装好了numpy,然后就可以来个简单的小测试了。与传统的Python列表相比,进行数值运算时,numpy数组的效率要高的多。

完成相同的运算时,numpy代码和Python传统代码相比用到的显式循环语句明显要少,因为numpy是基于向量化的运算。

假设要对向量a和b进行求和,这里的向量指的是一个“一维数组”,a存放的是整数0到n-1的2次幂,如果n等于3,则a存的是0、1、4,向量b存的是整数0到n的3次幂,下面来看一下普通Python代码和numpy来计算的差别:

先看代码:

#filename:vectorsSum.pyimport sysfrom datetime import datetimeimport numpy as np#numpy方法def numpySum(n):a = np.arange(n, dtype = 'int64')**2#3次幂太大会溢出,注意(后面细说)b = np.arange(n, dtype = 'int64')**3c = a + breturn c#普通方法def pythonSum(n):#range() 返回的是“range object”,而不是实际的list 值,所以这里要加上lista = list(range(n))b = list(range(n))c = []for i in range(len(a)):a[i] = i ** 2b[i] = i ** 3c.append(a[i] + b[i])return csize = int(sys.argv[1])start = datetime.now()c = pythonSum(size)delta = datetime.now() - startprint ("最后两个元素的和:", c[-2:])print ("pythonSum花费的时间(微秒)", delta.microseconds)start = datetime.now()c = numpySum(size)delta = datetime.now() - startprint ("最后两个元素的和:", c[-2:])print ("numpySum花费的时间(微秒)", delta.microseconds)#下面测试一下对与1000个,2000个,3000个向量元素,运行结果如下图所示。

看一下运行结果:

上面的结果看到,numpy的计算效率比普通的方法要快不少,所以开始学习吧。

小结

今天学习一下Python中的几个科学计算库的安装以及使用numpy进行简单的求和计算。希望通过上面的操作能帮助大家。如果你有什么好的意见,建议,或者有不同的看法,欢迎留言和我们进行交流、讨论。

End.

文章转载来源:CDA数据分析师

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP