设为首页 - 加入收藏 潍坊站长网 (http://www.0536zz.com)- 国内知名站长资讯网站,提供最新最全的站长资讯,创业经验,网站建设等!
热搜: 2018 2019 redis 建设
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

数据科学中一些不常用但很有用的Python库

发布时间:2019-10-20 14:47 所属栏目:[优化] 来源:AI公园
导读:导读 提到数据科学的python包,大家想到的估计是numpy,pandas,scikit-learn之类的,这里给大家介绍一些不常用,但是非常有用的python包,就像是痒痒挠,虽然大部分时间用不上,但是真要用起来,还是挺爽的。 Python是个了不起的语言。事实上,这是世界上

导读

提到数据科学的python包,大家想到的估计是numpy,pandas,scikit-learn之类的,这里给大家介绍一些不常用,但是非常有用的python包,就像是痒痒挠,虽然大部分时间用不上,但是真要用起来,还是挺爽的。

数据科学中一些不常用但很有用的Python库

Python是个了不起的语言。事实上,这是世界上发展最快的语言之一(感觉没有之一,就是最快的)。在数据科学领域和开发领域,一次又一次的为我们提供便利。整个Python的生态和库使之成为所有用户都适用(初学者和高级用户)。Python之所以这么成功,原因之一就在于它的库,让Python变得灵活快速。

这篇文章中,我们会看一些不太常用的数据科学的库,除了pandas,scikit-learn,matplotlib等。尽管说到数据科学,我们想到的就是pandas和scikit-learn,了解一下其他的python的库也没什么坏处。下面就是另外一些数据科学中可能会用到的Python库。

Wget

从网络获取数据是Python科学家非常重要的任务。Wget是一个免费的工具,可以从Web上非交互式的下载文件,支持HTTP, HTTPS, 和 FTP协议,同样支持HTTP代理。由于是非交互式的,所以可以后台运行,用户没有登录也可以。所以下次你需要从网上下载图片的时候,可以试试wget。

安装:

  1. $?pip?install?wget?

例子:

  1. import?wget?
  2. url?=?'http://www.futurecrew.com/skaven/song_files/mp3/razorback.mp3'?
  3. filename?=?wget.download(url)?
  4. 100%?[................................................]?3841532?/?3841532?
  5. filename?
  6. 'razorback.mp3'?

Pendulum

这个是干啥的呢,你在处理日期时间的时候搞得头大的时候,Pendulum就很适合你,这包是用来简化日期时间的操作的,具体使用可以看 这里 。

安装:

  1. $?pip?install?pendulum?

例子:

  1. import?pendulum?
  2. dt_toronto?=?pendulum.datetime(2012,?1,?1,?tz='America/Toronto')?
  3. dt_vancouver?=?pendulum.datetime(2012,?1,?1,?tz='America/Vancouver')?
  4. print(dt_vancouver.diff(dt_toronto).in_hours())?
  5. 3?

imbalanced-learn

大多数的分类问题中,当所有的类别中的样本的数量大致相同时,效果是最好的,也就是样本均衡。但是在实际情况中,往往都是非均衡的数据,这往往会影响训练的过程以及后面的预测。幸好,这个库可以帮我们解决这个问题。这个和scikit-learn兼容,是scikit-learn-contrib的一部分。下次可以试试。

安装:

  1. pip?install?-U?imbalanced-learn?
  2. #?or?
  3. conda?install?-c?conda-forge?imbalanced-learn?

例子:

请参考文档。

FlashText

在清洗NLP相关的数据的时候,往往需要替换一些关键词或者提取一些关键词。通常,可以用正则表达式来干这个活,不过正则条件的数量上千的时候,就会很头大。FlashText是基于FlashText算法的一个模块,提供了这种情况下的一个替代工具,FlashText最好的地方在于运行时间是和搜索的条件的数量不相关的。更多的信息可以看这里。

安装:

  1. $?pip?install?flashtext?

例子:

提取关键词

  1. from?flashtext?import?KeywordProcessor?
  2. keyword_processor?=?KeywordProcessor()?
  3. #?keyword_processor.add_keyword(,?)?
  4. keyword_processor.add_keyword('Big?Apple',?'New?York')?
  5. keyword_processor.add_keyword('Bay?Area')?
  6. keywords_found?=?keyword_processor.extract_keywords('I?love?Big?Apple?and?Bay?Area.')?
  7. keywords_found?
  8. ['New?York',?'Bay?Area']?

替换关键词

  1. keyword_processor.add_keyword('New?Delhi',?'NCR?region')?
  2. new_sentence?=?keyword_processor.replace_keywords('I?love?Big?Apple?and?new?delhi.')?
  3. new_sentence?
  4. 'I?love?New?York?and?NCR?region.'?

Fuzzywuzzy

名字听起来怪怪的,不过在字符匹配的时候,用起来还是爽爽的。可以轻松的实现字符比例,token比例等。还可以在不同的数据集中进行匹配。

安装:

  1. $?pip?install?fuzzywuzzy?

例子:

  1. from?fuzzywuzzy?import?fuzz?
  2. from?fuzzywuzzy?import?process?
  3. #?Simple?Ratio?
  4. fuzz.ratio("this?is?a?test",?"this?is?a?test!")?
  5. 97?
  6. #?Partial?Ratio?
  7. fuzz.partial_ratio("this?is?a?test",?"this?is?a?test!")?
  8. ?100?

PyFlux

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章