• 转:11个实用但你可能不知道的Python程序库


    原文来自于:http://www.techug.com/11-python-libraries-you-might-not-know

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

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

    1) delorean

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

    from delorean import Delorean
    EST = "US/Eastern"
    d = Delorean(timezone=EST)

    2) prettytable

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

    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    |
    +----------------------+----------+

    3.snowballstemmer

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

    from snowballstemmer import EnglishStemmer, SpanishStemmer
    EnglishStemmer().stemWord("Gregory")
    # Gregori
    SpanishStemmer().stemWord("amarillo")
    # amarill

    4.wget

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

    import wget
    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分析。

    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中不容易记住怎么使用(即递归搜索文件)。

    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

    7.fuzzywuzzy

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

    from fuzzywuzzy import fuzz
    fuzz.ratio("Hit me with your best shot", "Hit me with your pet shark")
    # 85

    8.progressbar

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

    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版本,在确保唯一性上真的非常方便。

    import uuid
    print uuid.uuid4()
    # e7bafa3d-274e-4b0a-b9cc-d898957b4b61

    11.bashplotlib

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

    $ pip install bashplotlib
    $ scatter --file data/texas.txt --pch x

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

  • 相关阅读:
    触发事件trigger
    淘宝天猫关键词SEO优化
    Linux下升级python
    python3多线程趣味详解
    python之selenium
    1kkk
    python之lxml(xpath)
    python中时间日期格式化符号
    唯品会数据采集-异步瀑布流
    python数据库操作pymysql
  • 原文地址:https://www.cnblogs.com/guoyongrong/p/4260564.html
Copyright © 2020-2023  润新知