今天小编在这里主要时给大家讲讲一些关于数据科学方面的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
示例
4,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 ]
4,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 次,在每一步渲染环境。
以上就是小编今天带来的内容 小编本身就是一名python开发工程师,我自己花了三天时间整理了一套python学习教程,从最基础的python脚本到web开发,爬虫,数据分析,数据可视化,机器学习,等,这些资料有想要的小伙伴点击下方链接即可领取
https://docs.qq.com/doc/DTGpFa2lVeE9jUkRv