六个好用的Python库,绝对是瑰宝!

news2025/1/22 15:51:27

在当今的技术浪潮中,Python已经成为了一种广泛应用的编程语言。而要想充分发挥Python的威力,离不开各种优秀的库的支持。这些库能够提供丰富的功能和强大的工具,帮助开发者们更高效地完成各种任务。在本文中,笔者将介绍6个被誉为瑰宝的Python库,它们无疑会让你的编程之旅变得更加轻松!

PyGWalker

https://github.com/Kanaries/pygwalker

PyGWalker是个在Jupyter Notebook环境中运行的可视化探索式分析工具,仅一条命令即可生成一个可交互的图形界面,以类似Tableau/PowerBI的方式,通过拖拽字段进行Pandas数据分析。

Science plots

SciencePlots是一款用于科学绘图的Python工具包。

当我们看学术期刊、论文时会看到各种各样高大上的图形。会好奇,这么好看的图到底怎么画的?是不是很困难?

的确,现在很多Python绘图工具只是关注图形所表达的数据信息,而忽略了样式。

SciencePlots则弥补了这片空白,它是一款专门针对各种学术论文的科学绘图工具,例如,science、ieee等。

如下图所示是SciencePlots绘制的ieee期刊多类别散点图效果。

pydbgen

pydbgen是一个轻量的纯 Python 库,它可以用于生成随机但有意义的数据记录(包括姓名、地址、信用卡号、日期、时间、公司名称、职位、车牌号等等),存放在 Pandas Dataframe 对象中,并保存到 SQLite 数据库或 Excel 文件。

如下示例是利用pydbgen生成随机的Pandas Dataframe,并生成数据库表。

import pydbgen
from pydbgen import pydbgen
myDB=pydbgen.pydb()

testdf=myDB.gen_dataframe(5,['name','city','phone','date'])

HandCalcs

HandCalcs是一个非常实用的Python模块,可以帮助开发者轻松地从Python代码中生成LaTeX报告。使用HandCalcs,你只需编写最少的代码,就能自动生成符合LaTeX格式的数学方程。

对于经常使用LaTeX进行科技文档编写的开发者来说,HandCalcs是一个必备的工具。它可以大大减少手动编写、调整和更新数学方程的工作量,提高文档编写的效率和准确性。

如下示例是使用HandCalcs生成LaTeX格式数学方程的效果。

from math import sqrt,asin,sin
import handcalcs.render

%%render
#symbolic
a = 1
b = 4
c = 3
x = (-b+sqrt(b**2-4*a*c))/(2*a)

AnimatPlot

AnimatPlot是一个开源的python库,它构建在Matplotlib之上,用于创建高度交互式的动画绘图。

示例如下:

# 导入所需的库
import numpy as np
import matplotlib.pyplot as plt
import animatplot as amp

# 创建了一些坐标轴上的点
x = np.linspace(-2, 2, 41)
y = np.linspace(-2, 2, 41)
t = np.linspace(0, 2*np.pi, 30)
X, Y, T = np.meshgrid(x, y, t)

# 使用生成的坐标点,计算
data = np.sin(X*X+Y*Y-T)
line_data = data[20,:,:]

# 创建包含两个子图的图形窗口,并设置各种图形的属性,如坐标轴便签、标题等
fig, (ax1, ax2) = plt.subplots(1, 2)
for ax in [ax1, ax2]:
    ax.set_aspect('equal')
    ax.set_xlabel('x')
ax2.set_ylabel('y', labelpad=-5)
ax1.set_ylabel('z')
ax1.set_ylim([-1.1,1.1])
fig.suptitle('Multiple blocks')
ax1.set_title('Cross Section: $y=0$')
ax2.set_title(r'$z=\sin(x^2+y^2-t)$')

# 创建两个block对象
# Line块用于绘制一条线,Pcolormesh块用于绘制一个伪彩色网格
line_block = amp.blocks.Line(X[0,:,:], line_data,
                                   ax=ax1, t_axis=1)
block = amp.blocks.Pcolormesh(X[:,:,0], Y[:,:,0], data, ax=ax2, t_axis=2, vmin=-1, vmax=1)

# 添加颜色条,用于显示伪彩色网格的颜色映射。
plt.colorbar(block.quad)
# 创建时间轴对象,再使用Animation类将块和时间轴对象组合成一个动画
timeline = amp.Timeline(t, fps=10)
anim = amp.Animation([block, line_block], timeline)

# 添加用户界面控制动画的小部件
anim.controls()
# 显示动画窗口
plt.show()

KnockKnock

KnockKnock是一个便捷的Python库,它会在机器学习模型训练结束或崩溃时发出通知。用户可以通过电子邮件、Slack、Microsoft Teams等方式接收通知。

它提供了简单的接口,通过几行代码即可设置不同的通知方式,使你能够及时了解训练进度和状态。以下是一个简单的示例:

from knockknock import email_sender

# 设置邮件发送的配置信息
email_config = {
    "email_address": "your_email@example.com",
    "password": "your_email_password",
    "smtp_server": "smtp.example.com",
    "smtp_port": 587,
    "receiver_email": "receiver_email@example.com"
}

@email_sender(**email_config)
def train_model():
    # 训练模型的代码
    # ...

# 调用训练函数
train_model()

在这个示例中,通过装饰train_model函数,使用提供的邮件配置信息设置了邮件发送功能。当训练完成或崩溃时,将通过电子邮件发送通知。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1454769.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

流程编排(LogicFlow)

简介: LogicFlow 是一款流程图编辑框架,提供了一系列流程图交互、编辑所必需的功能和简单灵活的节点自定义、插件等拓展机制,方便我们快速在业务系统内满足类流程图的需求。 vue litefolw实现 liteflow-logicflow-vue实现 特性:…

数据库第四次实验

目录 1.建立数据表并插入数据 2 视图的创建 2.1 行列子集视图的创建 2.2 多表视图 2.3视图上建立视图 2.4分组视图 2.5带表达式的视图 3 删除视图 ​​​​​​​​​​​​​​4 查询视图 ​​​​​​​5 更新视图 5.1 修改某一个属性 5.2 删除一条数据 5.3 插入…

HTTP/1.1 如何优化?

问你一句:「你知道 HTTP/1.1 该如何优化吗?」 我们可以从下面这三种优化思路来优化 HTTP/1.1 协议: 尽量避免发送 HTTP 请求在需要发送 HTTP 请求时,考虑如何减少请求次数减少服务器的 HTTP 响应的数据大小 下面,就针对这三种思路具体看看有哪些优化…

力扣 第 385 场周赛 解题报告 | 珂学家 | 字典树专场

前言 整体评价 这是一场字典树专场,除了t3这个小模拟之外,1,2,4皆可用字典树搞定。 T4感觉做法挺多的,其实,但是字典树应该效率最高的。 T1. 统计前后缀下标对 I 思路: 模拟 O ( n 2 ) O(n^2) O(n2)全遍…

沁恒CH32V30X学习笔记03--64位systick

systick CH32F2x 系列产品Cortex-M3 内核自带了一个 24 位自减型计数器(SysTick timer)。支持 HCLK 或 HCLK/8 作为时基,具有较高优先级别(6)。一般可用于操作系统的时基。 CH32V3x 系列产品内核自带了一个 64 位加减计数器(SysTick),支持 HCLK 或者 HCLK/8 作为时基,…

VQ30 广告点击的高峰期(order by和limit的连用)

代码 select hour(click_time) as click_hour ,count(hour(click_time)) as click_cnt from user_ad_click_time group by click_hour order by click_cnt desc limit 1知识点 order by和limit的连用,取出所需结果 YEAR() 返回统计的年份 MONTH() 返回统计的月份 D…

【C++初阶】deque容器的介绍以及为什么stack和queue选择deque的作为底层容器适配器

👦个人主页:Weraphael ✍🏻作者简介:目前学习C和算法 ✈️专栏:C航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&#x1…

【C语言】实现栈

目录 (一)栈 (二)头文件 (三)功能实现 (1)初始化栈 (2) 栈的销毁 (3)压栈 (4) 出栈 (5&a…

软件实例分享,乒乓球俱乐部会员系统管理软件教程

软件实例分享,乒乓球俱乐部会员系统管理软件教程 一、前言 以下软件程序教程以 佳易王乒乓球馆计时计费软件V17.0为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 多种计费方式,可以按单价,也可以按时间段 可…

VR直播:只需五步,即可实现直播“黑科技”

现如今,VR直播的应用范围较为广泛,有很多人可能在现场见过VR直播的拍摄设备,不仅有高性能的电脑、VR相机,还有专业的灯光和拍摄机器等。只需要五步,就可以实现安全、高效的VR全景直播。 首先是专业全景采集设备进行全景…

用纯HTML写一个凭证并打印

最近有个需求&#xff0c;需要通过网页把单子打印出来&#xff0c;就用html实现了一个&#xff0c;主要使用了windwos自带的print打印&#xff0c;全部代码如下&#xff1a; <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" cont…

Java21 + SpringBoot3使用Spring Security时如何在子线程中获取到认证信息

文章目录 前言原因分析解决方案方案1&#xff1a;手动设置线程中的认证信息方案2&#xff1a;使用DelegatingSecurityContextRunnable创建线程方案3&#xff1a;修改Spring Security安全策略通过设置JVM参数修改安全策略通过SecurityContextHolder修改安全策略 总结 前言 近日…

Mysql开启bin-log日志

目录 一、安装配置 二、mysqlbinlog命令 一、安装配置 yum -y install mariadb mariadb-server#安装mysql数据库#默认配置文件/etc/my.cnfvim /etc/my.cnflog-binmariadb-bin #开启二进制日志 systemctl restart mariadb#会在/car/lib/mysql/产生二进制日志文件&#xff0…

Java_方法(重载方法签名等详解)

在之前我们学习C语言时&#xff0c;当我们想要重复使用某段代码的功能时&#xff0c;我们会将这段代码定义为一个函数&#xff0c;而在java中我们把这段重复使用的代码叫做方法。 方法的定义 类体的内容分为变量的声明和方法的定义&#xff0c;方法的定义包括两部分&#xff1…

全网最详细的从0到1的turbo pnpm monorepo的前端工程化项目[搭建篇]

全网最详细的从0到1的turbo pnpm monorepo的前端工程化项目[搭建篇] 引言相关环境技术栈初始化工程安装turbo配置pnpm-workspace安装husky安装lint-staged安装eslint安装prettier配置 .editorconfig配置 .gitignore初步项目结构结语 引言 最近各种原因&#xff0c;生活上的&am…

【C++初阶】值得一刷的字符串string相关oj题

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前学习C和算法 ✈️专栏&#xff1a;C航路 &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章对你有帮助的话 欢迎 评论&#x1f4ac; 点赞&#x1…

二.重新回炉Spring Framework:Spring Framework主要组件概览

1.写在前面的话 这里主要简单说一下Spring Framework的几个核心组件的总体情况。为了比较直观&#xff0c;这里使用了ClassPathXmlApplicationContext的类图来进行说明。它基本上包含了 IoC 体系中大部分的核心类和接口。类图如下图所示&#xff1a; 2.Resource 组件体系 R…

项目管理软件品牌榜:行业领导者与热门选择

大数据、人工智能等新兴技术的崛起&#xff0c;各种行业在数字化转型的过程中&#xff0c;越来越注重有效的项目管理和协作方式。而各种项目管理软件应运而生&#xff0c;以帮助企业提高效率、降低成本、提高协作性。然而在众多的项目管理软件市场上&#xff0c;如何选择适合自…

PCIe TX端电容

一、问题&#xff1a;PCIe为什么要加电容 PCIe为什么要加电容&#xff1f;具体的作用是什么&#xff1f; 答&#xff1a;因为PCIe Host和Receiver两端的直流偏置会不一样&#xff0c;所以需要在PCIe的传输路径上加电容&#xff0c;这样传输路径上只有AC信号&#xff0c;不存在…

小白如何学鸿蒙开发?

在互联网技术不断发展的现在&#xff0c;鸿蒙操作系统的出现标志着是能技术领域的一次重大突破&#xff0c;鸿蒙作为华为推出的一代操作系统&#xff0c;鸿蒙不仅达代表了自主创新的力量&#xff0c;还因为独特的分布式架构和全场景适配能力而备受关注。随着鸿蒙生态的不断完善…