热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ofpython检索文献scienceweb_十个小众却实用的Python库,用过的都说香!

开源最前线(ID:OpenSourceTop)猿妹综合整理综合自:https:medium.comanalytics-vidhyapython-libr
开源最前线(ID:OpenSourceTop) 猿妹综合整理综合自:https://medium.com/analytics-vidhya/python-libraries-for-data-science-other-than-pandas-and-numpy-95da30568fad
今天,我们将和大家分享一些用于数据科学任务的Python库,这些库并不常见,它们不如panda、scikit-learn、matplotlib等知名,但却十分实用,下面就一起来看看都有哪些库:1、Wget数据提取,尤其是从网络中提取数据,是数据科学家的重要任务之一。Wget是一个免费的工具,用于从Web下载非交互式的文件,它支持HTTP、HTTPS和FTP协议,以及通过HTTP代理进行检索。由于它是非交互式的,所以即使用户没有登录,它也可以在后台工作。因此,她很适合用于下载一个网站或一个页面的所有图像。(项目地址:https://pypi.org/project/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就是一项不错的项目选自。它是一个用于简化datetimes操作的Python包。它完全可以替代Python的原生类。(项目地址:https://github.com/sdispater/pendulum)安装:

$ 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事实上,当每个类的样本数量几乎相同的情况下,分类算法的效果是最好的,但在实际项目中大部分的数据集是不平衡的,这些数据集对机器学习算法的学习阶段和后续预测都有影响,imbalanced-learn的创建就是为了解决此类问题,它与scikit-learn兼容,是scikit-learn-contrib项目的一部分。下次如果你遇到不平衡的数据集时,考虑一下它。(项目地址:https://github.com/scikit-learn-contrib/imbalanced-learn)安装:

pip install -U imbalanced-learn# or
conda install -c conda-forge imbalanced-learn
4、FlashText在NLP任务中清理文本数据通常需要替换句子中的关键字或从句子中提取关键字。这类操作一般使用正则表达式来完成,但是如果搜索的关键词数量达到数千个,就会变得很麻烦。Python的FlashText模块是基于FlashText算法,它为这种情况提供了一个合适的替代方案。FlashText最好的部分是,不管搜索词的数量是多少,运行时都是一样的。(项目地址:https://github.com/vi3k6i5/flashtext)安装:

$ pip install flashtext示例:

from flashtext import KeywordProcessor
keyword_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是一个非常有用的库。可以快速实现诸如字符串匹配度、令牌匹配度等操作。它还可以方便地匹配保存在不同数据库中的记录。(项目地址:https://github.com/seatgeek/fuzzywuzzy)安装:

$ pip install fuzzywuzzy示例:

from fuzzywuzzy import fuzzfrom 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为时间序列建模提供了一种高效的方法。值得尝试。(项目地址:https://github.com/RJT1990/pyflux)安装:

pip install pyflux7、Ipyvolume结果交流是数据科学的一个重要方面,可视化是一个很大的优势,IPyvolume是一个Python库,用于在Jupyter笔记本中可视化三维图形(如三维立体图等),遗憾的是目前它还处于测试版本阶段。(项目地址:https://github.com/maartenbreddels/ipyvolume)安装:

Using pip
$ pip install ipyvolume
Conda/Anaconda
$ conda install -c conda-forge ipyvolume
示例:8、DashDash是一个用于构建Web应用程序的高效Python框架。它是基于Flask、Plotly.js和React.js创建的,并结合了现代UI元素(如下拉框、滑块和图形)与用户分析性Python代码绑定在一起,而不需要再借助Javascript。Dash非常适合构建数据可视化应用。然后可以在Web浏览器中呈现这些应用程序。(项目地址:https://github.com/plotly/dash)安装:

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!)
示例:ee122e53b9801749437e6eb2c425d7ba.gif9、BashplotlibBashplotlib是一个Python包和命令行工具,用于在终端生成基本的绘图,使用Python编写的,当用户无法访问GUI时,可视化数据就变得很方便。安装:

pip install bashplotlib示例:

scatter --file data/texas.txt --pch .566ed5f2305bac18c77ce9f95c3ebf8f.png

hist --file data/exp.txtb8c3c4765e47e67c1b043fa46d62bebb.png10、Coloramacolorama是一个Python专门用来在控制台、命令行输出彩色文字的模块,可以跨平台使用,在windows下linux下都工作良好。它使用标准的ANSI转义码来着色和样式终端输出。(项目地址:https://github.com/tartley/colorama)安装:

pip install colorama示例:

import coloramafrom colorama import Fore, Back, Style
colorama.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. )
输出如下:34f7d984455bff399ad3d48b26470926.png以上就是我推荐的有关于处理数据科学方面任务的Python库,不知道有没有你喜欢的。233a29aef07e4f9f0656b2fa268c2e19.png

推荐阅读为了追到小姐姐,我用 Python 制作了一个机器人青出于蓝而胜于蓝,这是一款脱胎于Jupyter Notebook的新型编程环境【中文教程】简单粗暴入门TensorFlow 2.0 | 北大学霸出品写 Python 到底用什么编辑器好?鹅厂程序猿吵翻了




推荐阅读
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 离线环境下的Python及其第三方库安装指南
    在项目开发中,有时会遇到电脑只能连接内网或完全无法联网的情况。本文将详细介绍如何在这种环境下安装Python及其所需的第三方库,确保开发工作的顺利进行。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 尽管某些细分市场如WAN优化表现不佳,但全球运营商路由器和交换机市场持续增长。根据最新研究,该市场预计在2023年达到202亿美元的规模。 ... [详细]
  • Navicat Premium 15 安装指南及数据库连接配置
    本文详细介绍 Navicat Premium 15 的安装步骤及其对多种数据库(如 MySQL 和 Oracle)的支持,帮助用户顺利完成软件的安装与激活。 ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • 深入理解Java中的volatile、内存屏障与CPU指令
    本文详细探讨了Java中volatile关键字的作用机制,以及其与内存屏障和CPU指令之间的关系。通过具体示例和专业解析,帮助读者更好地理解多线程编程中的同步问题。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 如何高效创建和使用字体图标
    在Web和移动开发中,为什么选择字体图标?主要原因是其卓越的性能,可以显著减少HTTP请求并优化页面加载速度。本文详细介绍了从设计到应用的字体图标制作流程,并提供了专业建议。 ... [详细]
author-avatar
天才野猪518
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有