zoukankan      html  css  js  c++  java
  • 你可能没听过的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    |
    +----------------------+----------+

      3.snowballstemmer

      好吧,我也是首次安装该库。这是一款非常瘦小的语言转换库,支持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
    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
    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

      7.fuzzywuzzy

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

    1
    2
    3
    from fuzzywuzzy import fuzz
    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
    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=" 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;auto;height:auto;float:none;">data</span></a></span>/texas.txt --pch x

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

  • 相关阅读:
    js 获取服务端时间,并实现时钟
    微信分享问题记录
    format
    vue-cli3 使用mint-ui
    vue.js 使用记录(1)
    iview admin 生成环境打包时路径问题
    java8:(Lambda 表达式简介)
    SpringBoot: 18.使用Scheduled 定时任务器(转)
    SpringBoot: 16.整合junit单元测试(转)
    SpringBoot: 17.热部署配置(转)
  • 原文地址:https://www.cnblogs.com/rrxc/p/4661219.html
Copyright © 2011-2022 走看看