开发者资讯

 首页 > 开发者资讯 > 编程开发 > 你可能没听过的11个Python库越来越多的数据科学家开始使用Python,并且网上也有成千上万个Python包,但几乎没人能够全部使用它们。而本文将向大家介绍一些非常实用,但却不被大家熟知的Pytho库。

你可能没听过的11个Python库越来越多的数据科学家开始使用Python,并且网上也有成千上万个Python包,但几乎没人能够全部使用它们。而本文将向大家介绍一些非常实用,但却不被大家熟知的Pytho库。

分享到:
【字体:
导读:
          越来越多的数据科学家开始使用Python,并且网上也有成千上万个Python包,但几乎没人能够全部使用它们。而本文将向大家介绍一些非常实用,但却不被大家熟知的Pytho库。目前,网上已有成千上万个Python包,但几乎没

越来越多的数据科学家开始使用Python,并且网上也有成千上万个Python包,但几乎没人能够全部使用它们。而本文将向大家介绍一些非常实用,但却不被大家熟知的Pytho库。

目前,网上已有成千上万个Python包,但几乎没有人能够全部知道它们。单单 PyPi上就有超过47000个包列表。

现在,越来越多的数据科学家开始使用Python,虽然他们从 pandas, scikit-learn, numpy中获得了不少好处,但我仍想向他们介绍一些年长且非常实用的Python库。在本文中,我将列一些不太知名的库,即使你是经验丰富的Python的开发者,也值得过来一看。 

1) delorean

Dolorean是一个非常酷的日期/时间库。类似JavaScript的moment,拥有非常完善的技术文档。

 

[py] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. from delorean import Delorean  
  2. EST = "US/Eastern"  
  3. d = Delorean(timezone=EST)  

2) prettytable

你可能从未听过该库,因为它托管在GoogleCode。prettytable主要用于在终端或浏览器端构建很好的输出。

[py] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. from prettytable import PrettyTable  
  2. table = PrettyTable(["animal""ferocity"])  
  3. table.add_row(["wolverine"100])  
  4. table.add_row(["grizzly"87])  
  5. table.add_row(["Rabbit of Caerbannog"110])  
  6. table.add_row(["cat", -1])  
  7. table.add_row(["platypus"23])  
  8. table.add_row(["dolphin"63])  
  9. table.add_row(["albatross"44])  
  10. table.sort_key("ferocity")  
  11. table.reversesort = True  
  12. +----------------------+----------+  
  13. |        animal        | ferocity |  
  14. +----------------------+----------+  
  15. | Rabbit of Caerbannog |   110    |  
  16. |      wolverine       |   100    |  
  17. |       grizzly        |    87    |  
  18. |       dolphin        |    63    |  
  19. |      albatross       |    44    |  
  20. |       platypus       |    23    |  
  21. |         cat          |    -1    |  
  22. +----------------------+----------+  

3.snowballstemmer

好吧,我也是首次安装该库。这是一款非常瘦小的语言转换库,支持15种语言。

 

[py] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. from snowballstemmer import EnglishStemmer, SpanishStemmer  
  2. EnglishStemmer().stemWord("Gregory")  
  3. # Gregori  
  4. SpanishStemmer().stemWord("amarillo")  
  5. # amarill  

4.wget

你是否还记得,每一次都会因为某个目的而编写网络爬虫工具,以后再也不用了,因为wget就足够你使用了。wget是Python版的网络爬虫库,简单好用。

 

[py] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. import wget  
  2. wget.download("http://www.cnn.com/")  
  3. # 100% [............................................................................] 280385 / 280385  
备注:linux和osx用户这样用:from sh import wget。但是,wget模块还有一个更好的argument handline。

 

5.PyMC

scikit-learn似乎是所有人的宠儿,但在我看来,PyMC更有魅力。PyMC主要用来做Bayesian分析。 

 

[py] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. from pymc.examples import disaster_model  
  2. from pymc import MCMC  
  3. M = MCMC(disaster_model)  
  4. M.sample(iter=10000, burn=1000, thin=10)  
  5. [-----------------100%-----------------] 10000 of 10000 complete in 1.4 sec  

 

6.sh

sh库用来将shell命令作为函数导入到Python中。在bash中使用是非常实用的,但是在Python中不容易记住怎么使用(即递归搜索文件)。

 

[py] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. from sh import find  
  2. find("/tmp")  
  3. /tmp/foo  
  4. /tmp/foo/file1.json  
  5. /tmp/foo/file2.json  
  6. /tmp/foo/file3.json  
  7. /tmp/foo/bar/file3.json  
7.fuzzywuzzy

 

 

Fuzzywuzzy是一个可以对字符串进行模糊匹配的库,大家有空可以去 查看源码。 

 

[py] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. from fuzzywuzzy import fuzz  
  2. fuzz.ratio("Hit me with your best shot""Hit me with your pet shark")  
  3. # 85  
8.progressbar

 

 

 

 

progressbar是一个进度条库,该库提供了一个文本模式的progressbar。 

 

[py] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. from progressbar import ProgressBar  
  2. import time  
  3. pbar = ProgressBar(maxval=10)  
  4. for i in range(111):  
  5.     pbar.update(i)  
  6.     time.sleep(1)  
  7. pbar.finish()  
  8. # 60% |########################################################                                      |  

9.colorama

colorama主要用来给文本添加各种颜色,并且非常简单易用。

10.uuid

uuid是基于Python实现的UUID库,它实现了UUID标注的1,3,4和5版本,在确保唯一性上真的非常方便。 

 

[py] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. import uuid  
  2. print uuid.uuid4()  
  3. # e7bafa3d-274e-4b0a-b9cc-d898957b4b61  
11.bashplotlib

 

bashplotlib是一个绘图库,它允许你使用stdin绘制柱状图和散点图等。 

 

[py] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. $ pip install bashplotlib  
  2. $ scatter --file data/texas.txt --pch x  

 

英文原文: 11 Python Libraries You Might Not Know

分享到:
构建一个属于软件开发者的键盘 [java] ...
作为软件开发者,键盘可以说是我们最亲密的“朋友”之一。频繁的敲击键盘让定制键盘成为急需品,而软件工程师LÁSZLÓ MONDA为我们详细介绍了其制作“终极黑客键盘”的具体过程。 软件工程师为了解决每天频繁“奔走”于键盘各块件之间,创建了“终极黑客键盘”。该键盘分为左右两部分,拥有LED灯,而其中所涉及到的具体...
11款最棒的Linux数据恢复工具 
  无论你使用的是台式电脑还是笔记本,需要关注的重点之一都是如何保护好你的宝贵数据。因为总会有各种突发情况使你的系统崩溃,然后你要做的就是恢复数据。不管你怎么想,要是我失去了所有的数据却无法恢复的话,我会分分钟肢解了这台破电脑。不过幸好的是,现在市场上有不少的数据恢复工具,能帮助我们从系统的硬盘上...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……