Python是一种神奇的语言。事实上,它是近几年世界上发展最快的编程语言之一,它一次又一次证明了它在开发工作和数据科学立场各行业的实用性。整个Python系统和库是对于世界各地的用户(无论是初学者或者高级)都是一个恰当的选择。其成功和受欢迎的原因之一是它强大的库,这些库使其具有动态性和快速性。

在本文中,我们将看到一些除了常用的像pandas、scikit-learn、 matplotlib之外的数据科学任务的Python库。虽然一看见像pandas,scikit-learn这些库就让人脑子浮现出机器学习任务,但了解并学习这个领域的其他python库总归是有益的。

1、Wget

从网页提取数据是数据科学家的重要任务之一。Wget是一个免费的非交互性的从网上下载文件的实用工具。它支持HTTP、HTTPS和FTP协议,以及通过HTTP代理检索。因为它是非交互性的,所以即使用户没有登录,也可以在后台工作。所以下次你想下载一个网站或页面的图片,wget可以帮助你。

安装:

$ pip install wget

例子:

import wget url = 'http://www.futurecrew.com/skaven/song_files/mp3/razorback.mp3' filename 
=wget.download(url) 100% [................................................] 3841532 / 3841532
filename 'razorback.mp3'

2、Pendulum

对于那些在python中使用日期时间感到沮丧的,可以使用Pendulum。它是一个python包,可以缓解日期时间操作,是一个python的原生类替代。如果想深入了解请参考该文档

安装:

$ pip install pendulum

例子:

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

3、imbalanced-learn

我看到过大多数分类算法效果,每个类的样本数量几乎是相同的,如balanced。但是现实生活情况下大部分是不平衡数据集,它会影响学习阶段和随后的机器学习算法的预测。幸运的是,创建了这个imbalanced库来解决这个问题。它兼容了scikit-learn并且是scikit-learn-contrib项目的一部分。当下次遇到不平衡数据集,可以尝试使用这个库。

安装:

pip install -U imbalanced-learn #or conda install -c conda-forge imbalanced-learn

例子:

用法和例子请参考文档

4、FlashText

NLP任务中清理文本数据常常需要在句子中换关键字或从句子中提取关键字。通常,这些操作可以用正则表达式来完成,但如果搜索方面遇到了数以千计的数量,可能会成为麻烦。Python的FlashText模块,该模块基于FlashText算法提供了恰当的替代等情况。FlashText最好的部分是运行时间与搜索词的数量无关,你可以在这里了解更多。

安装:

$ pip install flashtext

例子:

提取关键字

from flashtext import KeywordProcessor keyword_processor = KeywordProcessor() #
keyword_processor.add_keyword(<unclean name>, <standardised name>)
keyword_processor.add_keyword('Big Apple', 'New York') keyword_processor.add_keyword('Bay Area')
keywords_found = keyword_processor.extract_keywords('I love Big Apple and Bay Area.')
keywords_found ['New York', 'Bay Area']

替代关键字

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

5、Fuzzywuzzy

这个名字听起来确实很奇怪,但在处理字符串匹配时,fuzzywuzzy是一个非常有用的库,可以轻松实现操作,比如字符串比较比率,令牌比率等。它也方便匹配保存在不同数据库的记录。

安装:

$ pip install fuzzywuzzy

例子:

from fuzzywuzzy import fuzz from fuzzywuzzy import process # Simple Ratio
fuzz.ratio("this is a test", "this is a test!") 97 # Partial Ratio 
fuzz.partial_ratio("this is a test", "this is a test!") 100

可以在GitHub repo找到更多有趣的例子。

6、PyFlux

时间序列分析是机器学习领域最常见的问题之一。PyFlux是一个在Python中为了时间序列问题而建立的开源库。该库有一个良好的现代时间序列模型包括但不限于ARIMA、GARCH和VAR模型。简而言之,PyFlux针对时间序列建模提供了一种概率方法,值得一试。

安装:

pip install pyflux

例子:

用法例子请参考相关文档

7、Ipyvolume

结果可视化是数据科学的一个重要方面。能够可视化结果具有很大的优势。 IPyvolume是一个Python库,只需最少的配置和精力就可以在Jupyter notebook中可视化3d体积和字形(例如3d散点图)。但是,它目前处于1.0之前的阶段。一个很好的比喻是这样的:IPyvolume的volshow是3d数组而matplotlib的imshow是2d数组。你可以在这里读更多关于它的内容。

安装:

Using pip $ pip install ipyvolume Conda/Anaconda $ conda install -c conda-forge ipyvolume

例子:

动画

立体渲染

8、Dash

Dash是一个用于构建Web应用程序的高效Python框架。它写在Flask,Plotly.js和React.js之上,并将现有的UI元素(如下拉列表,滑块和图形)与你的分析Python代码联系起来,而无需使用javascript。Dash非常适合构建数据可视化应用程序,然后可以在Web浏览器中呈现这些应用程序。用户指南可在此处访问。

安装

pip install dash==0.29.0 # The core dash backend pip install dash-html-components==0.13.2 
# HTML components pip install dash-core-components==0.36.0 # Supercharged components pip install dash-table==3.1.3 
# Interactive DataTable component (new!)

例子

下面的示例显示了下拉表的高度交互式图形。当用户在下拉列表中选择一个值时,应用程序代码会将Google财经中的数据动态导出到Pandas DataFram中。

源代码

9、Gym

OpenAI的Gym是一个用于开发和比较强化学习算法的工具包。它与任何数值计算库兼容,如TensorFlow或Theano。Gym库是测试问题的必要集合,也称为环境 – 你可以使用它来训练强化学习算法。这些环境具有共享接口,允许编写通用算法。

安装

pip install gym

例子

以下是运行环境CartPole-v0中1000个步骤的实例的例子,在每个步骤渲染环境。

你可以在这里了解更多的环境。

结论

这些是我选的对于数据科学有用的python库,而不是常见的如numpy,pandas等。如果你知道可以添加到列表中的其他库,请在下面的评论中提及。别忘了尝试一下。

原文链接
本文为云栖社区原创内容,未经允许不得转载。

Python数据科学“冷门”库的更多相关文章

  1. Matplotlib 使用 - 《Python 数据科学手册》学习笔记

    一.引入 import matplotlib as mpl import matplotlib.pyplot as plt 二.配置 1.画图接口 Matplotlib 有两种画图接口: (1)一个是 ...

  2. 干货!小白入门Python数据科学全教程

    前言 本文讲解了从零开始学习Python数据科学的全过程,涵盖各种工具和方法 你将会学习到如何使用python做基本的数据分析 你还可以了解机器学习算法的原理和使用 说明 先说一段题外话.我是一名数据 ...

  3. Python数据科学手册

    Python数据科学手册(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1KurSdjNWiwMac3o3iLrzBg 提取码:qogy 复制这段内容后打开百度网盘手 ...

  4. 《Python数据科学手册》第五章机器学习的笔记

    目录 <Python数据科学手册>第五章机器学习的笔记 0. 写在前面 1. 判定系数 2. 朴素贝叶斯 3. 自举重采样方法 4. 白化 5. 机器学习章节总结 <Python数据 ...

  5. Python数据科学手册Seaborn马拉松可视化里时分秒转化为秒数的问题

    Python数据科学手册Seaborn马拉松可视化里时分秒转化为秒数的问题 问题描述: 我实在是太懒了,问题描述抄的网上的哈哈哈:https://www.jianshu.com/p/6ab7afa05 ...

  6. python书籍推荐:Python数据科学手册

    所属网站分类: 资源下载 > python电子书 作者:today 链接:http://www.pythonheidong.com/blog/article/448/ 来源:python黑洞网 ...

  7. Python数据科学安装Numby,pandas,scipy,matpotlib等(IPython安装pandas)

    Python数据科学安装Numby,pandas,scipy,matpotlib等(IPython安装pandas) 如果还没有本地安装Python.IPython.notebook等请移步 上篇Py ...

  8. 学习《Python数据科学手册》高清中文PDF+高清英文PDF+代码

    如果有一定的数据分析与机器学习理论与实践基础,<Python数据科学手册>这本书是绝佳选择. 是对以数据深度需求为中心的科学.研究以及针对计算和统计方法的参考书.很友好实用,结构很清晰.但 ...

  9. 100天搞定机器学习|day45-53 推荐一本豆瓣评分9.3的书:《Python数据科学手册》

    <Python数据科学手册>共五章,每章介绍一到两个Python数据科学中的重点工具包.首先从IPython和Jupyter开始,它们提供了数据科学家需要的计算环境:第2章讲解能提供nda ...

随机推荐

  1. http post 请求详解

    一步一步了解http post 请求 (大白话版). 1.创建一 个 CloseableHttpClient  对象 CloseableHttpClient client = HttpClients. ...

  2. ios  国际化开发

    一,.xib 1.首先选中xib文件,在右边的inspector中选择对应的国际化语言,如下图

  3. IOS 视频.图片上传服务器

    //上传视频 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];    manager.requestSerializer. ...

  4. appium解决每次运行都需要安装Unlock以及AppiumSetting的问题

    这是我用appium遇到的第三个坑?之前因为环境的问题,chromedriver驱动总是安装不对,后来发现是因为路径的原因.解决之后,现在出现新的问题,那就是“appium每次运行都要去重新安装Unl ...

  5. switch_root vs pivot_root vs chroot【转】

    1. pivot_root can/should be used together with chroot pivot_root new_root put_old pivot_root moves t ...

  6. .NET CORE迁移踩坑

    https://www.cnblogs.com/leolaw/p/10740678.html

  7. peewee基本使用

    PEEWEE基本使用 Content Ⅰ  安装Ⅱ  链接数据库Ⅲ  建表 Ⅳ  增删改 Ⅴ  基础查询 Ⅵ  ForeignKey Ⅷ  事务 参考官方文档:http://docs.peewee-o ...

  8. 基于fpga的vga学习(3)

    本次学习如何通过vga发送数字.文字.字母, 首先利用建模软件,将想要发送的数据通过数学建模转换,这里我用的软件是PCtoLCD,具体效果如下 这里可以看出,建模将数据装换成0和1,一个字母用16x8 ...

  9. C# WebAPI系列(1)

    WebApi是微软在VS2012 MVC4版本中绑定发行的,WebApi是完全基于Restful标准的框架.RestFul: (英文:Representational State Transfer,简 ...

  10. CentOS5.5 - lnmp环境安装与使用

    CentOS5.5 - lnmp环境安装与使用 到公司搭建环境可以直接使用YUM. 安装一.rpm包安装(安装方便) yum:下载软件包并且安装.前提:连网. yum 使用流程: 1. yum lis ...