![4bb3060ca0b6dced36843801b8ec7a28.png](https://i-blog.csdnimg.cn/blog_migrate/aaafec6d2701b1562ae32b107d2fcccd.jpeg)
Python 成功和受欢迎的原因之一是存在强大的库,这些库使 Python 极具创造力且运行快速。然而,使用 Pandas、Scikit-learn、Matplotlib 等常见库在解决一些特殊的数据问题时可能并不实用,本文介绍的这些非常见库可能更有帮助。
1、 WGET
提取数据,特别是从网络中提取数据是数据科学家的重要任务之一。Wget 是一个免费的工具,用于以非交互式方式从 Web 上下载文件。它支持 HTTP、HTTPS 和 FTP 协议,通过 HTTP 代理进行检索。由于它是非交互式的,即使用户没有登录,它也可以在后台工作。所以,如果你想下载一个网站或一个页面上的所有图片,wget 会帮助你。
安装:
$ pip install wget
示例:
import wgeturl = http://www.futurecrew.com/skaven/song_files/mp3/razorback.mp3 filename = wget.download(url)100% [................................................] 3841532 / 3841532filename razorback.mp3
2、Pendulum
于那些在 python 中被处理datetimes困扰的人来说,Pendulum 是个好选择。它是一个 Python 包,用于简化 datetimes 操作。它是 Python「本机」类(native class)的代替。更多内容,请参阅文档:https://um.eustace.io/docs/# installation。
安装:
$ pip install pendulum
示例:
import wgeturl = http://www.futurecrew.com/skaven/song_files/mp3/razorback.mp3 filename = wget.download(url)100% [................................................] 3841532 / 3841532filename razorback.mp3
3、IMBALANCED-LEARN
可以看出,当每个类的样本数量相等即平衡时,大多数分类算法的工作效果最好。但现实生活中充满了不平衡的数据集,这些数据集对机器学习的学习阶段和后续预测都有影响。创建这个库是为了解决这个问题。它与 scikit-learn 兼容,并且是 scikit-learn-contrib 项目的一部分。下次遇到不平衡的数据集时,可以尝试一下。
安装:
pip install -U imbalanced-learn# orconda install -c conda-forge imbalanced-learn
有关用法和示例,请参考:http://imbalancedlearn.org/en/stable/api.html。
4、FLASHTEXT
在 NLP 任务中,清理文本数据通常需要替换句子中的关键词或从句子中提取关键词。通常,这样的操作可以用正则表达式来完成,但是如果要搜索的词汇量过大,操作就会变得麻烦。Python 中基于 FlashText 算法的 FlashText 模块,为这种情况提供了一个合适的替代方案。FlashText 最大的优点是搜索词数量不影响运行时长。更多相关信息请见:https://flashtext.readthedocs.io/en/latest/#。
安装:
$ pip install flashtext
示例
提取关键词:
from flashtext import KeywordProcessorkeyword_processor = KeywordProcessor()# keyword_processor.add_keyword(, )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 是一个非常有用的库,可以很容易地实现诸如字符串比较比率、token 比率等操作。对于匹配不同数据库中的记录也很方便。
安装:
$ pip install fuzzywuzzy
示例:
from fuzzywuzzy import fuzzfrom fuzzywuzzy import process# Simple Ratiofuzz.ratio("this is a test