你可能没听过的11个Python库
目前,网上已有成千上万个Python包,但几乎没有人能够全部知道它们。单单 PyPi上就有超过47000个包列表。
现在,越来越多的数据科学家开始使用Python,虽然他们从 pandas, scikit-learn, numpy中获得了不少好处,但我仍想向他们介绍一些年长且非常实用的Python库。在本文中,我将列一些不太知名的库,即使你是经验丰富的Python的开发者,也值得过来一看。
1) delorean
Dolorean是一个非常酷的日期/时间库。类似JavaScript的moment,拥有非常完善的技术文档。
1
2
3
|
from delorean import Delorean EST = "US/Eastern" d = Delorean(timezone = EST) |
2) prettytable
你可能从未听过该库,因为它托管在GoogleCode。prettytable主要用于在终端或浏览器端构建很好的输出。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
from prettytable import PrettyTable table = PrettyTable([ "animal" , "ferocity" ]) table.add_row([ "wolverine" , 100 ]) table.add_row([ "grizzly" , 87 ]) table.add_row([ "Rabbit of Caerbannog" , 110 ]) table.add_row([ "cat" , - 1 ]) table.add_row([ "platypus" , 23 ]) table.add_row([ "dolphin" , 63 ]) table.add_row([ "albatross" , 44 ]) table.sort_key( "ferocity" ) table.reversesort = True + - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - + | animal | ferocity | + - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - + | Rabbit of Caerbannog | 110 | | wolverine | 100 | | grizzly | 87 | | dolphin | 63 | | albatross | 44 | | platypus | 23 | | cat | - 1 | + - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - + |
好吧,我也是首次安装该库。这是一款非常瘦小的语言转换库,支持15种语言。
1
2
3
4
5
|
from snowballstemmer import EnglishStemmer, SpanishStemmer EnglishStemmer().stemWord( "Gregory" ) # Gregori SpanishStemmer().stemWord( "amarillo" ) # amarill |
4.wget
你是否还记得,每一次都会因为某个目的而编写网络爬虫工具,以后再也不用了,因为wget就足够你使用了。wget是Python版的网络爬虫库,简单好用。
1
2
3
|
import wget # 100% [............................................................................] 280385 / 280385 |
备注:linux和osx用户这样用:from sh import wget。但是,wget模块还有一个更好的argument handline。
5.PyMC
scikit-learn似乎是所有人的宠儿,但在我看来,PyMC更有魅力。PyMC主要用来做Bayesian分析。
1
2
3
4
5
|
from pymc.examples import disaster_model from pymc import MCMC M = MCMC(disaster_model) M.sample( iter = 10000 , burn = 1000 , thin = 10 ) [ - - - - - - - - - - - - - - - - - 100 % - - - - - - - - - - - - - - - - - ] 10000 of 10000 complete in 1.4 sec |
6.sh
sh库用来将shell命令作为函数导入到Python中。在bash中使用是非常实用的,但是在Python中不容易记住怎么使用(即递归搜索文件)。
1
2
3
4
5
6
7
|
from sh import find find( "/tmp" ) / tmp / foo / tmp / foo / file1.json / tmp / foo / file2.json / tmp / foo / file3.json / tmp / foo / bar / file3.json |
Fuzzywuzzy是一个可以对字符串进行模糊匹配的库,大家有空可以去 查看源码。
1
2
3
|
from fuzzywuzzy import fuzz fuzz.ratio( "Hit me with your best shot" , "Hit me with your pet shark" ) # 85 |
progressbar是一个进度条库,该库提供了一个文本模式的progressbar。
1
2
3
4
5
6
7
8
|
from progressbar import ProgressBar import time pbar = ProgressBar(maxval = 10 ) for i in range ( 1 , 11 ): pbar.update(i) time.sleep( 1 ) pbar.finish() # 60% |######################################################## | |
9.colorama
colorama主要用来给文本添加各种颜色,并且非常简单易用。
10.uuid
uuid是基于Python实现的UUID库,它实现了UUID标注的1,3,4和5版本,在确保唯一性上真的非常方便。
1
2
3
|
import uuid print uuid.uuid4() # e7bafa3d-274e-4b0a-b9cc-d898957b4b61 |
11.bashplotlib
bashplotlib是一个绘图库,它允许你使用stdin绘制柱状图和散点图等。
1
2
|
$ pip install bashplotlib $ scatter - - file <span id = "0_nwp" style = "width: auto; height: auto; float: none;" ><a id = "0_nwl" href = "http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=18&is_app=0&jk=c83d3b1ac10215a4&k=data&k0=data&kdi0=0&luki=4&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=a41502c11a3b3dc8&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1922429&u=http%3A%2F%2Fwww%2Eadmin10000%2Ecom%2Fdocument%2F5893%2Ehtml&urlid=0" target = "_blank" mpid = "0" style = "text-decoration: none;" ><span style = "color:#0000ff;font-size:14px;width:auto;height:auto;float:none;" >data< / span>< / a>< / span> / texas.txt - - pch x |
英文原文: 11 Python Libraries You Might Not Know
你可能没听过的11个Python库的更多相关文章
- 11个并不广为人知,但值得了解的Python库
这是一篇译文,文中提及了一些不常见但是有用的Python库 原文地址:http://blog.yhathq.com/posts/11-python-libraries-you-might-not-kn ...
- 一个 11 行 Python 代码实现的神经网络
一个 11 行 Python 代码实现的神经网络 2015/12/02 · 实践项目 · 15 评论· 神经网络 分享到:18 本文由 伯乐在线 - 耶鲁怕冷 翻译,Namco 校稿.未经许可,禁止转 ...
- 推荐11个实用Python库
1.delorea 非常酷的日期/时间库 from delorean import Delorean EST = "US/Eastern"d = Delorean(timezone ...
- 《python解释器源码剖析》第11章--python虚拟机中的控制流
11.0 序 在上一章中,我们剖析了python虚拟机中的一般表达式的实现.在剖析一遍表达式是我们的流程都是从上往下顺序执行的,在执行的过程中没有任何变化.但是显然这是不够的,因为怎么能没有流程控制呢 ...
- c++11 Chrono时间库
c++11 Chrono时间库 http://en.cppreference.com/mwiki/index.php?title=Special%3ASearch&search=chrono ...
- 比特币源码分析--C++11和boost库的应用
比特币源码分析--C++11和boost库的应用 我们先停下探索比特币源码的步伐,来分析一下C++11和boost库在比特币源码中的应用.比特币是一个纯C++编写的项目,用到了C++11和bo ...
- 你可能没听过的 Java 8 中的 10 个特性
你以前听到的谈论关于Java8的所有都是围绕lambda表达式. 但它仅仅是Java8的一部分. Java 8 有许多新特性—一些强大的新类和语法, 还有其他的从一开始就应该具有的东西. 我将要介绍我 ...
- Android EventBus实战 没听过你就out了
转载请表明出处:http://blog.csdn.net/lmj623565791/article/details/40794879,本文出自:[张鸿洋的博客] 1.概述 最近大家面试说经常被问到Ev ...
- Windows平台Go调用DLL的坑(居然有这么多没听过的名词)
最近的项目中,使用了GO来开发一些服务中转程序.业务比较简单,但是有一些业务需要复用原有C++开发的代码.而在WINDOWS,用CGO方式来集成C/C++代码并不是太方便.所以用DLL把C++的代码封 ...
随机推荐
- Python开发——17.CSS
一.CSS 1.概述 CSS(Cascading Style Sheets),层叠样式表,用来控制网页数据的表现,使网页的表现与数据内容分离. 2.引入方式 (1)行内式 <body> & ...
- VC6 LINK : fatal error LNK1168: cannot open Debug/Test.exe for writing
在使用VC++运行程序时,第一次没有任何问题,但是当再次运行时就会出现:LINK : fatal error LNK1168: cannot open Debug/Test.exe for writi ...
- PostGIS集群
postgresql集群:https://bbs.csdn.net/topics/390896906?page=1 https://blog.csdn.net/s465689853/article/ ...
- centos jdk 配置及版本切换
一. 环境变量: /etc/profile JAVA_HOME=/usr/lib/jdk1.8.0_91JRE_HOME=/usr/lib/jdk1.8.0_91/jreCLASS_PATH=.:$J ...
- C++的IO处理中的头文件以及类理解(2)<sstream>头文件
C++的IO处理中的头文件以及类理解(2)<sstream>头文件 头文件<sstream>中定义的类型都继承iostream头文件中定义的类型.除了继承得来的操作,sstre ...
- L'opzione di luce del puntatore laser
Prima di tutto, sono di buone dimensioni, non i 'mini' puntatori laser che altri stanno vendendo. È ...
- 在ASP.NET MVC里对Web Page网页进行权限控制
我们在ASP.NET MVC开发时,有时候还是得设计ASP.NET的Web Page网页(.aspx和.aspx.cs),来实现一些ASP.NET MVC无法实现的功能,如此篇<Visual S ...
- Android JNI 学习(五):References Api
1. NewGlobalRef(创建全局引用) jobjectNewGlobalRef(JNIEnv *env, jobject obj); 创建 obj 参数所引用对象的新全局引用.obj 参数既可 ...
- RichText 富文本开源项目总结
在Android开发中,我们不免会遇到富文本的编辑和展示的需求,以下是本人之前star的富文本编辑器的开源项目,供大家参考: 一.RichEditor 开源项目地址:https://github.co ...
- 7.首页、bitmaputils
HomeProtocol public class HomeProtocol extends BaseProtocol<List<AppInfo>>{ // 1 把整个json ...