你可能没听过的11个Python库

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

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

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

1) delorean

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

1

2

3

fromdeloreanimportDelorean

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

fromprettytableimportPrettyTable

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 |

+----------------------+----------+

3.snowballstemmer

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

1

2

3

4

5

fromsnowballstemmerimportEnglishStemmer, SpanishStemmer

EnglishStemmer().stemWord("Gregory")

# Gregori

SpanishStemmer().stemWord("amarillo")

# amarill

4.wget

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

1

2

3

importwget

wget.download("http://www.cnn.com/")

# 100% [............................................................................] 280385 / 280385

备注:linux和osx用户这样用:from sh import wget。但是,wget模块还有一个更好的argument handline。

5.PyMC

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

1

2

3

4

5

frompymc.examplesimportdisaster_model

frompymcimportMCMC

M=MCMC(disaster_model)

M.sample(iter=10000, burn=1000, thin=10)

[-----------------100%-----------------]10000of10000completein1.4sec

6.sh

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

1

2

3

4

5

6

7

fromshimportfind

find("/tmp")

/tmp/foo

/tmp/foo/file1.json

/tmp/foo/file2.json

/tmp/foo/file3.json

/tmp/foo/bar/file3.json

7.fuzzywuzzy

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

1

2

3

fromfuzzywuzzyimportfuzz

fuzz.ratio("Hit me with your best shot","Hit me with your pet shark")

# 85

8.progressbar

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

1

2

3

4

5

6

7

8

fromprogressbarimportProgressBar

importtime

pbar=ProgressBar(maxval=10)

foriinrange(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

importuuid

printuuid.uuid4()

# e7bafa3d-274e-4b0a-b9cc-d898957b4b61

11.bashplotlib

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

1

2

$ pip install bashplotlib

$ scatter--file<spanid="0_nwp"style="width: auto; height: auto; float: none;"><aid="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

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航