这些Python库虽然冷门,但功能真的很强大!
在本文中,我们将介绍一些用于数据科学方面的Python库,它们并不像pandas、scikit-learn 和 matplotlib那么知名,但一样非常实用的库。欢迎大家评论区补充~
1、Wget
提取数据,尤其是从网络上提取数据,是数据科学家的主要任务之一。Wget是一个免费的实用程序,用于从Web上进行非交互式文件下载。它支持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包,用于简化datetime操作。它是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
大多数分类算法在每个类的样本数量几乎都是一样的情况下是最有效的,但实际工作中大多数是不平衡的数据集,这些数据集对机器学习算法的学习阶段和后续预测都可能有影响。幸运的是,创imbalance -learn库可以解决这个问题。它与scikit-learn兼容,是scikit- learning -contrib项目的一部分。下次遇到不平衡的数据集的情况,请别忘了它。
安装:
pip install -U imbalanced-learn
# or
conda install -c conda-forge imbalanced-learn
4、FlashText
在自然语言处理(NLP)任务中清理文本数据通常需要替换关键字或从句子中提取关键字。通常,这样的操作可以用正则表达式来完成,但是如果要搜索的词汇量达到数千,那么这些操作就会变得很繁琐。
Python的FlashText模块基于FlashText算法,为这种情况提供了合适的替代方案。FlashText最棒的地方是,它的运行与你的搜索量无关。
安装:
$ pip install flashtext
例子:
1)提取关键词
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 ]
2)替代关键词
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
6、PyFlux
时间序列分析是机器学习中最常见的问题之一。PyFlux是Python中的一个开源库,它是为处理时间序列问题而构建的。该库拥有一系列很优秀的现代时间序列模型,诸如ARIMA、GARCH和VAR模型等。简而言之,PyFlux提供了一种时间序列建模的概率方法。
安装:
pip install pyflux
7、IPyvolume
数据科学很重要的一部分就是交流结果,可视化结果显示可以给你提供一个巨大的优势。IPyvolume是一个Python库,用于可视化Jupyter笔记本中的3D容量和符号(例如3D散点图),只需少量的配置。
安装 :
Using pip
$ pip install ipyvolume
Conda/Anaconda
$ conda install -c conda-forge ipyvolume
例子:
绘制
8、Dash
Dash是一个用于构建web应用程序的高效Python框架。它基于FlaskPlotty.js 和 Response.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 Finance 导出到panda DataFrame。
9、Gym
Gym是开发和对比强化学习算法的工具,它兼容任何数据科学库,如TensorFlow或Theano。是一个测试问题的集合,也叫环境,你可以用它来计算强化学习算法。这些环境有一个共享接口,允许用户编写通用算法。
安装:
pip install gym
例子:
以下示例将在 CartPole-v0环境中,运行 1000 次,在每一步渲染环境。
- 通过.htaccess 让WordPress 的上传文件夹更安全
- asp.net 性能调较
- 零基础学习大数据,搭建Hadoop处理环境
- 为你的WordPress 博客开启两步验证功能(技术支持:谷歌)
- 为你的WordPress 博客开启两步验证功能(技术支持:谷歌)
- WordPress 注册页面显示自定义提示信息
- Windows Server 2008密码重设盘
- Dynamite动态排序库
- WordPress 顶部管理工具条添加自定义栏目
- WordPress 在后台文章和页面列表显示对应的ID
- WordPress 修改默认的 wp_ 数据库前缀
- WordPress自动在uploads文件夹内创建子文件夹
- MP6 Light:浅色型的扁平化WordPress 后台管理界面
- WiX安装选项--环境变量
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 48张小图带你领略Flex 布局之美
- 怎样设计一个 JavaScript 插件系统
- 一道 React 面试题:在浏览器、组件和元素中都渲染了些什么?
- 「新手入门福利」一张脑图带你掌握Git命令
- LeetCode | 58.最后一个单词的长度
- 模拟面试,解锁大厂 ——从Android的事件分发说起
- scRepertoire||单细胞免疫组库分析:R语言应用(一)
- Docker体验(二) - 自建Image
- 小程序代码复用 - template
- 五. Spring Security 权限管理
- 文档驱动 —— 表单组件(五):基于Ant Design Vue 的表单控件的demo,再也不需要写代码了。 表单一 公司信息表单二 员工信息,简化版,只是为了演示表单的切换。以后会出
- 文档驱动 —— 查询组件:将查询功能做到极致!你说还有啥没包含进来?antdv + vue 3.0 全新体验 快捷查询个性化查询方案更换各种查询方式更多的查询条件meta 驱动封装基础
- ES6能干啥?
- JQuery中DOM对象
- ES6都有什么?