盘点那些鲜为人知却非常实用的Python数据科学库

前言

Python是一门神奇的语言。它是世界上发展最快的编程语言之一。它一次又一次地证明了它在跨行业的开发人员工作角色和数据科学职位上的有用性。Python的整个生态系统及其库使其成为全世界用户(初学者和高级用户)的一个恰当选择。它的成功和流行的一个原因是它的健壮的库集的存在,使它如此动态和快速。

在本文中,我们将查看一些用于数据科学任务的Python库,而不是一些常用的库,如pandas、scikit-learn、matplotlib等。虽然像pandas和scikit-learn这样的库是机器学习居家必备,但是了解这个领域的其他python产品总是好的,因为你不知道什么时候就会用到。

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'

Pendulum

对于那些在python中使用日期时间时感到沮丧的人来说,钟摆就在这里。它是一个用于简化datetimes操作的Python包。它完全可以替代Python的原生类。深入工作请参阅文档。

如何安装:

$ pip install pendulum

举例:

import pendulumdt_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

imbalanced-learn

事实上,大多数分类算法在每个类的样本数量几乎相同的情况下工作得最好。但现实生活中存在大量的不平衡数据集,这些数据集对机器学习算法的学习阶段和后续预测都有影响。幸运的是,创建这个库是为了解决这个问题。它与scikit-learn兼容,是scikit-learn-contrib项目的一部分。下次遇到不平衡的数据集时,请尝试一下。

如何安装:

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

FlashText

在NLP任务中清理文本数据通常需要替换句子中的关键字或从句子中提取关键字。通常,这类操作通常使用正则表达式来完成,但是如果要搜索的术语数量达到数千个,就会变得很麻烦。基于FlashText算法的Python的FlashText模块为这种情况提供了一个合适的替代方案。FlashText最好的部分是,不管搜索词的数量是多少,运行时都是一样的。你可以在这里了解更多。

如何安装:

$ pip install flashtext

举例:

  • 提取关键词
from flashtext import KeywordProcessorkeyword_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.'

Fuzzywuzzy

这个名字听起来确实很奇怪,但是当涉及到字符串匹配时,fuzzywuzzy是一个非常有用的库。可以快速实现诸如字符串比较比率、令牌比率等操作。它还可以方便地匹配保存在不同数据库中的记录。

如何安装:

$ pip install fuzzywuzzy

举例:

from fuzzywuzzy import fuzzfrom fuzzywuzzy import process# Simple Ratiofuzz.ratio('this is a test', 'this is a test!')97# Partial Ratiofuzz.partial_ratio('this is a test', 'this is a test!') 100

PyFlux

时间序列分析是机器学习领域最常遇到的问题之一。PyFlux是为处理时间序列问题而显式构建的Python开源库。该图书馆拥有一系列优秀的现代时间序列模型,包括但不限于ARIMA、GARCH和VAR模型。总之,PyFlux为时间序列建模提供了一种概率方法。值得尝试。

如何安装:

pip install pyflux

Ipyvolume

交流结果是数据科学的一个重要方面。能够可视化结果是一个很大的优势。IPyvolume是一个Python库,用于在Jupyter笔记本中可视化3d卷和符号(例如,3d散点图),只需要很少的配置和工作。然而,它目前还处于1.0之前的阶段。一个很好的类比是这样的:IPyvolume的volshow之于3d数组,就像matplotlib的imshow之于2d数组。你可以在这里了解更多。

如何安装:

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

举例:

体绘制

Dash

Dash是一个用于构建web应用程序的高效Python框架。它是写在烧瓶上,扑通扑通。和response .js,并将现代UI元素(如下拉框、滑块和图形)与您的分析性Python代码绑定在一起,而不需要javascript。Dash非常适合构建数据可视化应用。然后可以在web浏览器中呈现这些应用程序。用户指南可以在这里访问。

如何安装:

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

举例:

下面的示例显示了一个具有下拉功能的高度交互式图形。当用户在下拉菜单中选择一个值时,应用程序代码动态地将来自谷歌Finance的数据导出到panda DataFrame中

Bashplotlib

Bashplotlib是一个python包和命令行工具,用于在终端中生成基本的绘图。纯粹用python编写,当用户无法访问GUI时,可视化数据就变得很方便。

如何安装:

pip install bashplotlib#or$ git clone git@github.com:glamp/bashplotlib.git$ cd bashplotlib$ python setup.py install

举例:

scatter --file data/texas.txt --pch .
hist --file data/exp.txt

Colorama

Colorama为Python中的终端输出着色。它使用标准的ANSI转义码来着色和样式终端输出。有时候,给终端上的日志涂上颜色是个好主意,这样如果有什么地方出错,它就会脱颖而出。尽管可以通过使用转义字符手动着色输出,但这是一项非常冗长乏味的任务。Colorama提供了一个简单的解决方案。只需将它包含到脚本中,并添加任何要着色的文本。

如何安装:

pip install colorama

举例:

运行以下脚本,看看文本的颜色在不同选项下是如何变化的。

import coloramafrom colorama import Fore, Back, Stylecolorama.init()# Set the color semi-permanentlyprint(Fore.CYAN)print('The Text will appear in cyan until it is reset')print(Style.RESET_ALL)# Colorize a single line and then resetprint(Fore.RED + 'Colorize a single line in RED' + Style.RESET_ALL)# Colorize a single word in the outputprint('You can also colorize a single word' + Back.GREEN + 'words' + Style.RESET_ALL + ' can be highlighted')# Combine foreground and background colorprint(Fore.BLUE + Back.WHITE)print('Foreground, background, and styles can be combined')print('==========            ')print(Style.RESET_ALL)print('Reset everything back to normal.')

总结

这些是我为数据科学挑选的有用的python库,而不是像numpy、panda之类的常见库。如果你知道其他可以添加到列表中的,请在下面的评论中提及。不要忘记尝试它们。

原文链接:
https://medium.com/analytics-vidhya/python-libraries-for-data-science-other-than-pandas-and-numpy-95da30568fad

(0)

相关推荐

  • mycli-具有自动补全功能和语法突出显示功能的MySQL CLI python库

    MySQL的命令行客户端,可以执行自动完成和语法突出显示. 特征 mycli是使用hint_toolkit编写的. 键入SQL关键字以及数据库中的表,视图和列时自动完成. 使用Pygments突出显示 ...

  • python‘导入fitz模块不成功’的解决办法

    看到一个程序需要导入fitz模块,尝试pip install fitz来安装fitz,结果fitz安装不上 import fitz 解决方法: pip install PyMuPDF,这样就安装了Py ...

  • 这9个鲜为人知的Python库,你用过几个?

    Python是一种很棒的语言,它是世界上发展最快的编程语言之一.它一次又一次证明了自己在开发人员工作角色和跨行业的数据科学职位中的实用性.整个Python及其库的生态系统使其成为全世界用户(初学者和高 ...

  • Python screen19包

    小分子单晶x射线衍射数据筛选程序 您需要有一个包含拨号的python环境才能使用它.然后您可以使用以下命令安装它: libtbx.pip install screen19 如果要开发Screen19, ...

  • 哪些 Python 库让你相见恨晚?

    来源:Python 技术「ID: pythonall」 哪些 Python 库让你相见恨晚?可能有些人见过这个问题,其实这就是知乎上的一个提问,问题链接为:https://www.zhihu.com/ ...

  • pip install 2020

    2020 年了,小帅b还在,没有跑路哈哈. 以后再也没办法开 "都 9102 年" 的玩笑了... 虽然说我们大部分的日子都是普通的,尽管是踏入了新的一年新的一天,我们也好像和以前 ...

  • 你必须尝试的20个 Python 库

    Python 是编程领域中最常用的编程语言之一,也是初学者的最佳选择之一.Python 吸引人们的地方在于它的简单性和易用的语法.是一个直译语言,所以它变得更容易发现代码中的错误.它是由 Guido ...

  • 错误集合

    pip install opencv-python出现下面错误: Fatal error in launcher: Unable to create process using '"d:\p ...

  • bashplotlib-在终端中进行基本绘图的python工具包

    bashplotlib是一个python软件包和命令行工具,用于在终端中进行基本绘图.当您没有GUI时,这是一种可视化数据的快速方法.它是用纯python编写的,可以使用pip快速安装在任何地方. 安 ...

  • 少有人知的python数据科学库

    Python是门很神奇的语言,历经时间和实践检验,受到开发者和数据科学家一致好评,目前已经是全世界发展最好的编程语言之一.简单易用,完整而庞大的第三方库生态圈,使得Python成为编程小白和高级工程师 ...

  • 比正则快M倍?!Python替换字符串的新姿势

    大家好,欢迎来到 Crossin的编程教室 ! 我们在写代码的时候经常会遇到需要替换文本中字符串的情况.如果替换的不是固定字符,而是某种字符规律,那就要用到正则表达式.今天我们要给大家分享一个效率更高 ...