近来,越来越多的数据科学家开始使用Python,我不由得想到,尽管他们从pandas、scikit-learn和numpy这些库中得到了不少好处,但是他们也许错过了一些也许较老但同样有帮助的Python库。

在这篇博文里,我将给大家推荐一些鲜为人知的库。即便你是Python高手,也应该看一看,其中的一到两个库可能是你从没见过的。

1)Delores

Dolorean是一个很酷的日期/时间库。除了名字好听之外,也是一个我曾用过的最舒心的日期/时间修改库。它有点像javascript的moment库,每次我导入它的时候都会想笑。文档也很棒,除了有技术指导外,他们还引用了《回到未来》的无数内容(来丰富文档)。

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

2)prettytable

这个包被放到了GoogleCode上,所以你可能没听说过。GoogleCode现在就像西伯利亚一样荒凉。

尽管它被流放到了一个冰天雪地、荒无人烟的地方,prettytable仍旧是最棒的结构化输出的库,它能在终端或浏览器里构建良好的输出。因此,如果你正在用 IPython Notebook的新插件,建议你用prettytable来代替__repr__进行HTML输出。

from prettytable import PrettyTabletable = 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

我当初装snowballstemmer,是因为我觉得这个名字很酷炫。但它的确是一个小巧好使的包。snowballstemmer通过porter stemmer算法来提取15种语言的单词词干。

from snowballstemmer import EnglishStemmer, SpanishStemmer

EnglishStemmer().stemWord(“Gregory”)

# Gregori

SpanishStemmer().stemWord(“amarillo”)

# amarill

4)wget

还记得你每次都为特定的目标写web爬虫么?以后我们可以用其他办法来完成了,那就是wget.想要以递归的方式下载所有页面?想要抓取页面上的每张图?想要避免cookie追踪?wget可以给你想要的一切。

马克·扎格伯格的电影里它自己都说

从柯克兰(寝室名)开始,这里的一切公共目录都是公开的,还允许在Apache系统里插入目录。所以用个wget就能下载柯克兰全部的照片库里的图片了。易如反掌!

这个页面有你想问的关于这个库的一切问题,而且它很易用。

import wgetwget.download("a href="http://www.cnn.com/"http://www.cnn.com//a")# 100% [............................................................................] 280385 / 280385

linux和osx的用户还会用到另一个选项:from sh import wget。不过Python wget模块还有更好的参数处理。

5)PyMC

我不记得是怎么得到PyMC包的了。scikit-learn似乎是所有人的宠儿(它应得的,它太出色了),但是依我看来,PyMC更有魅力。

from pymc.examples import disaster_modelfrom pymc import MCMCM = MCMC(disaster_model)M.sample(iter=10000, burn=1000, thin=10)[-----------------100%-----------------] 10000 of 10000 complete in 1.4 sec

你还不清楚它是干嘛的?那我告诉你,PyMC主要用来做贝叶斯定理分析。它的特点在Cam Davidson-Pilon的Bayesian Methods for Hackers里着重介绍过,它在许多流行的数据科学/python博客上也是一颗闪耀的钻石,但是它从来没得到过像它的同类scikit-learn一样的狂热追捧。

6)sh

我不能在你还不知道sh库的情况下,就让你离开。sh用来将shell命令导入到Python中。在bash它超有用,但在Python里你可能就不住怎么使用(即递归搜索文件)。

from sh import findfind("/tmp")/tmp/foo/tmp/foo/file1.json/tmp/foo/file2.json/tmp/foo/file3.json/tmp/foo/bar/file3.json

7)fuzzywuzzy

这是我用过的能排在前十里的最简单的库。(如果你有2、3分钟,你可以读一下这个资源),fuzzywuzzy 是一个字符串模糊匹配的库,它由SeatGeek上的开发者建立。

fuzzywuzzy实现了字符串的相似率,令牌比和许多其他的匹配模式。它也可以用来创建特征向量或者匹配不同数据库的记录。

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

8)progressbar

在你调用__main__循环的时候,你用过print “still going…” 这样的提示么?你知道么,这样会感觉特别low。想要找东西替代它么?为什么不用progressbar来提升你游戏的档次呢?

如你所想,progressbar在针对精确数据的时候效果很好,它提供了一个文本模式的progressbar。但即便是一个变动的不精确数据,使用它也比用那些很长的脚本好。

唉,这又是一个GoogleCode的牺牲品,它没有受到太多关注(文档有两个空格的缩进)。用pip install可以安装它。

from progressbar import ProgressBarimport timepbar = ProgressBar(maxval=10)for i in range(1, 11): pbar.update(i) time.sleep(1)pbar.finish()# 60% |######################################################## |

9)colorama

在你用progressbar打印日志时,为什么不给它们加上颜色呢!实际上,当出现重大错误时,它能很快的给你提醒。

colorama很容易使用。只要把它写进你的脚本,添加到想要打印的文本之前:

colorama-red

10)uuid

对于我来说,编程中真正需要的工具只有那么几个:哈希,键值对存储,和通用唯一标识符。uuid就是Python的一个UUID包。它实现了UUID standards标准的1,3,4,5版本。在确保唯一性上真的很方便。

这听起来可能会有点傻,但你有多少次想要给市场营销的(销售货物)加上唯一的促销代码?或着给e-mail收件人加上唯一的id号?

如果你担心耗尽ids,完全不用!UUID的可以生成原子数据。

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

如果你是UUID,你可能会这么想~~~~~

11)bashplotlib

不要脸的毛遂自荐一下,bashplotlib是我创建的一个库。它通过标准输入绘制出柱状图和散点图。当然,你不需要考虑用它来替代ggplot或matplotlib来作为你每天绘图的包,只要作为新奇玩意试试就好。但至少,你可以使用它把你的日志文件弄的好看点。

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

python seo 相关的库_11个并不被常用但对开发非常有帮助的Python库相关推荐

  1. python seo 相关的库_【张亚楠】Python你必须知道的十个库【翻】

    整理我用过的最好的十个库 Python是优雅的,使用这些库可以使你的代码更简洁,并保持持久性.欢迎各位补充,并提出意见! Docopt.抛弃optparse和argparse吧,使用docstring ...

  2. 使用python及相关库实现AQI分析与预测

    使用python及相关库实现AQI分析与预测 前言 一.需求背景 二.提出问题 三.数据预览 四.数据清洗 五.数据分析 六.总结 前言 一.需求背景 AQI(Air Quality Index),即 ...

  3. python到底有多少个库_11个你可能不知道的Python库

    现在有如此之多的Python包,几乎没有人能够全盘掌握. 光是PyPI就可单独列出47,000个包! 近日,听到很多数据科学家切换到Python的消息,我不由地想到,虽然他们得到了pandas.sci ...

  4. python seo分析器_python与SEO浅谈Python+ELK打造seo数据分析监控系统

    首先,这是一门工具类的课程,当然也会讲到seo方面一些知识. 其次,这是一门能帮到90%以上从事seo工作人员提升技能和效率的课程. 接着,这门课程的内容很丰富,一定有你想要的内容. 最后,这门课程很 ...

  5. Python后端相关技术/工具栈

    Python后端相关技术/工具栈 转载http://python.jobbole.com/83486/ 整理下目前涉及到的python的技术栈和工具栈(用过或了解的, 其他的后续用到再补充) 编辑器 ...

  6. python有相关的证书可以考吗-python的证书

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 由于这次打包只需要将纯代码文件打包,所以直接使用以下命令就行了. pyi ...

  7. pythonpil库过滤图像contour_一秒钟带你走进P图世界-----(python)PIL库的使用

    python-----PIL库的使用 一.什么是PIL库 1.PIL(Python Image Library)库是python语言的第三方库,具有强大的图像处理能力,不仅包含了丰富的像素.色彩操作功 ...

  8. python 的库如何开发_一篇文章入门Python生态系统

    译者按:原文写于2011年末,虽然文中关于Python 3的一些说法可以说已经不成立了,但是作为一篇面向从其他语言转型到Python的程序员来说,本文对Python的生态系统还是做了较为全面的介绍.文 ...

  9. python基本原理概论_优学院《2020年马克思主义基本原理概论题库(高职类)》查题教程2020高校邦《Python程序设计基础【实境编程】》答案完整...

    优学院<2020年马克思主义基本原理概论题库(高职类)>查题教程2020高校邦<Python程序设计基础[实境编程]>答案完整 更多相关问题 专业职业是相对以下哪点而言的(). ...

最新文章

  1. To connect to files.phpmyadmin.net insecurely, use `--no-check-certificate‘
  2. c++语言表白超炫图形_青少年编程学习之C语言怎么学?现在知道,将来不亏!...
  3. 我的linkedin profile
  4. POJ1063 Flip and Shift
  5. 最详细的Faster RCNN论文笔记
  6. Java初级笔记-第一章
  7. binary.Write 小坑一个兼论go的错误处理哲学
  8. 火狐可以使用广告终结者_使用Jupyter从终结者终止的地方重新启动脚本
  9. 微商推广引流秘笈—— 8 个高效的引流策略
  10. kubernetes-kube-scheduler进程源码分析
  11. 树莓派基于motion的usb摄像头监控
  12. 软件工程阶段性总结(三)——软件设计和编码
  13. UE发生GPU崩溃D3D丢失,真的跟硬件有关系。
  14. 第六期:如何通过知晓云将数据表导出为 Excel 文件
  15. 在linux上安装navicat 出现使用一段时间后闪退的情况
  16. 群晖服务器216j增加硬盘,群晖DS216j影视库搭建方法 | 群晖DS216j存储服务器怎么样_什么值得买...
  17. Java设计模式----创建者模式
  18. 10KV空压机继电保护定值设定
  19. 关于远程连接挂载磁盘的理解(.bat文件、批处理)
  20. SAP概念之利润中心(Profit Center)

热门文章

  1. pwnable-passcode
  2. 数据防泄密,代码类数据难在哪里?
  3. mysql.servers表存在_ERROR 1146 (42S02): Table 'mysql.servers' doesn't exist
  4. 电工电子学习笔记----1.电阻、电容、阻抗、容抗复习巩固
  5. linux下如何用gcc编译器生成lst文件?
  6. 计算机专业我的工匠梦作文,【推荐】我的科技梦作文7篇
  7. 开放平台–扫描微信二维码登录
  8. WPS加载项系列(3)WPS项目部署
  9. 【Android开发-4】进入实践,最喜欢折腾的计算器
  10. A链接标签点击不会触发任何行为的写法