Python是一门伟大的语言。它是世界上发展最快的编程语言之一。它在开发人员角色和跨行业的数据科学角色中一次又一次地被证明是有用的。Python及其库的整个生态系统使其成为全世界用户(初学者和高级用户)的合适选择。其成功和受欢迎的原因之一是其强大的第三方库集合使其保持活力和高效。在本文中,我们将了解一些用于数据科学任务的Python库,而不是pandas、scikit-learn和matplotlib等常见库。尽管pandas和scikit-learn等库在机器学习任务中很常见,但了解该领域的其他Python产品总是有好处的。1.Wget从网络中提取数据是数据科学家的重要任务之一。Wget是一个免费的实用程序,可用于从Web下载非交互式文件。它支持HTTP、HTTPS和FTP协议,以及通过HTTP代理检索文件。由于它是非交互式的,即使用户没有登录,它也可以在后台工作。所以下次你想下载网站或页面上的所有图像时,wget可以帮助你。安装:$pipinstallwget示例:importwgeturl='http://www.futurecrew.com/skaven/song_files/mp3/razorback.mp3'filename=wget.download(url)100%[...]......................................]3841532/3841532filename'razorback.mp3'###钟摆二,钟摆对于那些在python中处理日期时间时感到沮丧的人,Pendulum适合你。它是一个简化日期时间操作的Python包。它是Python本机类的直接替代品。请参阅文档以进行深入学习。安装:$pipinstallpendulum示例:importpendulumdt_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())33.Imbalanced-learn可以看出,当各类样本数基本相同时,大多数分类算法的效果最好,即有必要保持数据平衡。然而,现实世界中的大多数案例都是不平衡的数据集,这对机器学习算法的学习阶段和后续预测有很大的影响。幸运的是,这个库就是为解决这个问题而设计的。它与scikit-learn兼容,是scikit-lear-contrib项目的一部分。下次你有一个不平衡的数据集时试试看。安装:pipinstall-Uimbalanced-learn#或condainstall-cconda-forgeimbalanced-learn示例:使用方法和示例请参考文档。4.FlashText在NLP任务中,清洗文本数据往往需要替换句子中的关键词或者从句子中提取关键词。通常,这可以使用正则表达式来完成,但如果您要搜索数千个术语,这会变得很麻烦。Python的FlashText模块基于FlashText算法为这种情况提供了一个合适的替代方案。FlashText的一大优点是无论搜索词的数量如何,运行时都是相同的。您可以在此处了解更多信息。安装:$pipinstallflashtext示例:从flashtext中提取关键字add_keyword('湾区')keywords_found=keyword_processor.extract_keywords('我爱大苹果和湾区')keywords_found['纽约','湾区']替换关键字keyword_processor.add_keyword('新德里','NCR地区')new_sentence=keyword_processor.replace_keywords('IloveBigAppleandnewdelhi.')new_sentence'IloveNewYorkandNCRregion.'Fuzzywuzzy5.fuzzywuzzy这个库的名字听起来很奇怪,但是在字符串匹配方面,fuzzywuzzy是一个非常有用的库。可以很方便的实现字符串匹配度、token匹配度的计算等操作,也可以很方便的匹配存储在不同数据库中的记录。安装:$pipinstallfuzzywuzzy示例:fromfuzzywuzzyimportfuzzfromfuzzywuzzyimportprocess#simplematchingfuzz.ratio("thisisatest","thisisatest!")97#fuzzymatchingfuzz.partial_ratio("thisisatest","thisisatest!")100个更有趣的示例可以在GitHub存储库中找到。6.PyFlux时间序列分析是机器学习领域最常见的问题之一。PyFlux是Python中的一个开源库,用于处理时间序列问题。该库拥有大量现代时间序列模型,包括但不限于ARIMA、GARCH和VAR模型。简而言之,PyFlux为时间序列建模提供了一种概率方法。值得一试。安装pipinstallpyfluxexample详细用法和示例请参考官方文档。7.Ipyvolume结果的展示也是数据科学的一个重要方面。能够将结果可视化将是一个很大的优势。IPyvolume是一个Python库,可以在Jupyter笔记本中可视化3D体积和图形(如3D散点图等),并且只需要少量配置。但目前处于pre-1.0版本阶段。用一个更贴切的比喻来解释:IPyvolume的volshow对三维数组的好用就如同matplotlib的imshow对二维数组的好用一样。更多可以在这里获得。使用pip$pipinstallipyvolume使用Conda/Anaconda$condainstall-cconda-forgeipyvolume示例动画体积渲染8.DashDash是一个用于构建Web应用程序的高效Python框架。它基于Flask、Plotly.js和React.js设计,绑定了下拉框、滑块和图表等许多现代UI元素。可以直接使用Python代码编写相关分析,无需使用javascript。Dash非常适合构建数据可视化应用程序。然后可以在Web浏览器中呈现这些应用程序。用户指南可在此处获得。安装pipinstalldash==0.29.0#核心dash后端pipinstalldash-html-components==0.13.2#HTML组件pipinstalldash-core-components==0.36.0#增强组件pipinstalldash-table==3.1.3#InteractiveDataTableComponent(latest!)Example以下示例显示了一个具有下拉功能的高度交互图表。当用户在下拉菜单中选择一个值时,应用程序代码会将数据从GoogleFinance动态导出到pandaDataFrame。9.GymOpenAI的Gym是一个用于开发和比较强化学习算法的工具包。它与任何数值计算库兼容,例如TensorFlow或Theano。Gym库是测试问题集(也称为环境)的必备工具,您可以使用它来开发强化学习算法。这些环境有一个共享接口,允许您编写通用算法。安装pipinstallgym示例此示例将在CartPole-v0环境中以1000个时间步运行一个实例,在每个步骤渲染整个场景。综上所述,这些对数据科学有用的Python库都是我精挑细选出来的,不是常见的numpy、pandas之类的。如果您知道要添加到列表中的其他库,请在下面的评论中提及它们。也不要忘记先尝试运行它们。
