PyHubWeekly | 第十八期:1行代码搞定数据可视化

简介: PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具。我把PyHubWeekly托管到了Github,感兴趣的可以搜索Github项目PyHubWeekly[1],如果喜欢,麻烦给个Star支持一下吧。此外,欢迎大家通过提交issue来投稿和推荐自己的项目~本期为大家推荐GitHub上5个优质的Python项目,它们分别是:•FlashText•PyFlux•bamboolib•MrDoc•AutoViz

下面分别来介绍一下上述5个GitHub项目。

FlashText

Start:4.3k

FlashText[2]是一款用于提取或者替换句子中关键字的工具。


FlashText具有诸多适合于网页爬虫或者文本处理的功能,例如,

提取替换删除多关键字...

有同学会有疑问,它和正则表达式功能大同小异,为什么要选择FlashText呢?


下面来通过一幅图对比一下两款工具在速度方面的表现,

19.png

安装使用

可以直接使用pip命令进行安装,

pip install flashtext

可以通过一个简单的示例看一下FlashText的使用,

>>> 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']


PyFlux

Start:1.7k


PyFlux[3]是一款开源的时间序列分析库。


时序分析是统计学中非常重要的一个分支,在具有时序特征的数据中,往往蕴含着很多令人感兴趣的特征信息,可以根据这些信息对未来进行准确的预测。


PyFlux将推理模型(frequentist和Bayesian)和参数设置应用于时序分析中,使得时序分析变得更加容易。PyFlux具备如下特性,


为时间序列数据建立模型

对模型进行推理模型的检查和评估

模型修改用模型进行回顾和预测


具体的示例,可以查看官方文档[4]


bamboolib

Start:550


bamboolib[5]是使得pandas DataFrames数据分析变得更加容易的一款Python库。


做数据相关工作的同学,对pandas肯定不会陌生。它很强大,甚至对于很多Python开发者具备着不可替代的位置,但是对于初学者却有时候让人难以理解。


bamboolib使得pandas DataFrames数据分析变得更加简单容易,在以往需要上百行完成的工作,在bamboolib中只需要简短的一行即可。


通过bamboolib的使用,它可以提升你的工作效率,减少在无价值的事情上浪费过多精力。

20.png

另外,bamboolib不仅支持本地使用,还可以在jupyter notebook和jupyterLab中使用。


安装

下面分别是本地、jupyter notebook、jupyterLab中安装的方法,

pip install bamboolib
# Jupyter Notebook extensions
python -m bamboolib install_nbextensions
# JupyterLab extensions
python -m bamboolib install_labextensions

                               MrDoc

Start:167


MrDoc[6]基于Python开发的在线文档系统,适合作为个人和小型团队的文档、笔记、知识管理工具。

21.png


MrDoc可以支持markdown、表格、图片上传等文档常用的功能,另外,它还具备一个完善系统应当具备的用户注册、管理等功能。可以用于团队内部的知识共享,文档管理。


另外,MrDoc已经开源,作为一个完善的应用系统,对于Python感兴趣的同学也可以拿这个项目用于学习和提升,了解一个完善系统的开发需要哪些环节,包含哪些模块,整个链路又是如何衔接的。


AutoViz

Start:140

AutoViz[7]是一款数据集可视化工具。

通过AutoViz,一行代码就可以轻松实现数据集的可视化工作。

22.png


AutoViz除了在数据可视化方面做了很多优化之外,还在数据源接口方面提供了很大的便利。它可以同时兼容txt、json、csv等离线数据格式。


安装使用

通过pip安装AutoViz,

pip install autoviz


使用AutoViz过程中,首先需要对AutoViz进行实例化,

from autoviz.AutoViz_Class import AutoViz_Class
AV = AutoViz_Class()


然后加载数据,在家在数据过程中,可以把数据加载进pandas DataFrame,也可以简单的提供一个数据路径。剩余的工作,交给AutoViz即可,

filename = ""
sep = ","
dft = AV.AutoViz(
    filename,
    sep,
    target,
    df,
    header=0,
    verbose=0,
    lowess=False,
    chart_format="svg",
    max_rows_analyzed=150000,
    max_cols_analyzed=30,
)
相关文章
|
监控 负载均衡 NoSQL
Redis之哨兵模式
Redis之哨兵模式
271 0
|
开发者 Python
|
JavaScript
vue里怎么使用pdf.js实现pdf文件的预览功能
vue里怎么使用pdf.js实现pdf文件的预览功能
1379 0
vue里怎么使用pdf.js实现pdf文件的预览功能
|
5月前
|
Linux 编译器 开发工具
提升CentOS 7中的gcc/G++版本
至此,你已经成功在CentOS 7中升级了gcc/G++版本。从现在开始,在终端中运行 `gcc`或 `g++`时,将会使用新版本的编译器。
457 21
|
12月前
|
域名解析 网络协议 索引
分享|【红猫网】备案域名的二级分发:实现网站可迁移、流量分流、备份归档
本文介绍了如何利用备案域名的二级分发技术实现网站迁移、流量分流和备份归档。通过为主域名下的子域名设置独立解析记录,实现资源的灵活分配与管理,确保网站服务的稳定性和高效性。同时,文章还解答了关于备案、SEO优化及HTTPS支持的相关问题。
865 0
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的美容预约管理系统
基于Java+Springboot+Vue开发的美容预约管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的美容预约管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
118 3
基于Java+Springboot+Vue开发的美容预约管理系统
|
存储 前端开发 关系型数据库
Linux 技术架构:前端、后端与数据库的完美融合
【8月更文挑战第25天】本文深入剖析了Linux操作系统的技术架构,重点介绍了前端、后端及数据库三大核心组成部分。Linux前端技术不仅涵盖了图形用户界面(GUI),包括GNOME、KDE等桌面环境,还涉及HTML、CSS、JavaScript等Web前端技术及其相关框架。后端技术则聚焦于Python、Java等多种编程语言、Apache和Nginx等Web服务器以及MySQL、PostgreSQL等数据库管理系统。Linux数据库技术覆盖了关系型和非关系型数据库,如MySQL、MongoDB等,并提供了多种数据库管理工具。
348 0
|
机器学习/深度学习 数据采集 算法
Python实现人工神经网络回归模型(MLPRegressor算法)并基于网格搜索(GridSearchCV)进行优化项目实战
Python实现人工神经网络回归模型(MLPRegressor算法)并基于网格搜索(GridSearchCV)进行优化项目实战
|
安全 网络协议 网络安全
2023年全国职业院校技能大赛信息安全管理与评估赛项正式赛(模块一)GZ032
2023年全国职业院校技能大赛信息安全管理与评估赛项正式赛(模块一)GZ032
2023年全国职业院校技能大赛信息安全管理与评估赛项正式赛(模块一)GZ032
|
消息中间件 存储 网络协议
即时通讯需要用到哪些技术手段?
该文探讨了即时通讯技术,涉及网络协议(TCP/IP、UDP、HTTP/HTTPS)在IM中的应用,数据传输与同步(消息队列、长轮询、WebSocket、数据同步)技术,安全性保障(加密、认证授权、防止攻击)措施,以及多媒体处理(音频、视频处理和实时传输)和用户界面交互设计的重要性。文章旨在帮助读者理解并应用相关技术。
1131 1