Python打卡第9天
浙大疏锦行001002003004005006007008009010011012013014015016017018019020021022023024025026027028029030031032033034035036037038039040041042043044045046047048049050051052053054055056057058059060061062063064065066067068069070071072073074075076077078079080081082083084085086087088089090091092093094095096097098099100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165importpandas as pdimportmathfrompathlibimportPathimportmatplotlib.pyplot as pltimportnumpy as npimportseaborn as snsimportwarningswarnings.filterwarnings(ignore)plt.rcParams[font.sans-serif][SimHei,Microsoft YaHei]# 优先黑体备选微软雅黑plt.rcParams[axes.unicode_minus]False# 解决坐标轴负号显示方框问题# 用脚本所在目录定位数据文件避免因当前工作目录不同而找不到文件data_pathPath(__file__).resolve().parent.parent/Python打卡训练营/python60-days-challenge-master/heart.csvdatapd.read_csv(data_path)# 在所有特征列中找到标签列label_candidates[target,output,y,label,class,diagnosis]label_colNoneforcandidateinlabel_candidates:ifcandidateindata.columns:label_colcandidatebreak# 如果没找到常见名称则取“最后一列且只包含0/1”的列作为标签iflabel_colisNone:forcolindata.columns[::-1]:ifset(data[col].dropna().unique()).issubset({0,1}):label_colcolbreakiflabel_colisNone:raiseValueError(未找到标签列请手动指定 label_col)print(标签列, label_col)feature_cols[colforcolindata.columnsifcol !label_col]discrete_cols[]continuous_cols[]# 总样本数量n_rowsdata.shape[0]# 只对特征列分类标签列不当作普通特征forcolinfeature_cols:# 不算NaN的唯一值个数nuniquedata[col].nunique(dropnaTrue)dtypedata[col].dtype# 判断条件# 条件1object字符串类型肯定离散# 条件2数值类型但唯一值少这里阈值取15可以自己调ifdtypeobjectornunique 15:discrete_cols.append(col)else:continuous_cols.append(col)print(离散特征列, discrete_cols)print(连续特征列, continuous_cols)# 连续特征合并小提琴图ifcontinuous_cols:n_contlen(continuous_cols)ncols3nrowsmath.ceil(n_cont/ncols)fig, axesplt.subplots(nrows, ncols, figsize(15,4*nrows))axesaxes.flatten()ifisinstance(axes, np.ndarray)else[axes]fori, colinenumerate(continuous_cols):sns.violinplot(datadata, ycol, axaxes[i])axes[i].set_title(f{col} 小提琴图)axes[i].set_xlabel()# 删除多余的空白子图forjinrange(n_cont,len(axes)):fig.delaxes(axes[j])fig.suptitle(连续特征小提琴图合集, fontsize16)plt.tight_layout()save_pathPath(rD:\Desktop\Postgraduate\PythonStudy\Python打卡训练营\Python打卡训练营\day09 pic\continuous_violin_plots.png)plt.savefig(save_path, dpi300, bbox_inchestight)# 离散特征合并核密度图ifdiscrete_cols:n_disclen(discrete_cols)ncols3nrowsmath.ceil(n_disc/ncols)fig, axesplt.subplots(nrows, ncols, figsize(15,4*nrows))axesaxes.flatten()ifisinstance(axes, np.ndarray)else[axes]fori, colinenumerate(discrete_cols):sns.kdeplot(datadata, xcol, fillTrue, axaxes[i])axes[i].set_title(f{col} 核密度图)axes[i].set_xlabel()# 删除多余的空白子图forjinrange(n_disc,len(axes)):fig.delaxes(axes[j])fig.suptitle(离散特征核密度图合集, fontsize16)plt.tight_layout()save_pathPath(rD:\Desktop\Postgraduate\PythonStudy\Python打卡训练营\Python打卡训练营\day09 pic\discrete_kde_plots.png)plt.savefig(save_path, dpi300, bbox_inchestight)# 连续特征与标签的关系箱线图ifcontinuous_cols:n_contlen(continuous_cols)ncols3nrowsmath.ceil(n_cont/ncols)fig, axesplt.subplots(nrows, ncols, figsize(15,4*nrows))axesaxes.flatten()ifisinstance(axes, np.ndarray)else[axes]fori, colinenumerate(continuous_cols):sns.boxplot(datadata, xlabel_col, ycol, axaxes[i])axes[i].set_title(f{col} vs {label_col})axes[i].set_xlabel(label_col)# 删除多余的空白子图forjinrange(n_cont,len(axes)):fig.delaxes(axes[j])fig.suptitle(连续特征与标签关系图箱线图, fontsize16)plt.tight_layout()save_pathPath(rD:\Desktop\Postgraduate\PythonStudy\Python打卡训练营\Python打卡训练营\day09 pic\continuous_vs_label_boxplots.png)plt.savefig(save_path, dpi300, bbox_inchestight)# 离散特征与标签的关系计数图ifdiscrete_cols:n_disclen(discrete_cols)ncols3nrowsmath.ceil(n_disc/ncols)fig, axesplt.subplots(nrows, ncols, figsize(15,4*nrows))axesaxes.flatten()ifisinstance(axes, np.ndarray)else[axes]fori, colinenumerate(discrete_cols):sns.countplot(datadata, xcol, huelabel_col, axaxes[i])axes[i].set_title(f{col} vs {label_col})axes[i].set_xlabel(col)# 删除多余的空白子图forjinrange(n_disc,len(axes)):fig.delaxes(axes[j])fig.suptitle(离散特征与标签关系图计数图, fontsize16)plt.tight_layout()save_pathPath(rD:\Desktop\Postgraduate\PythonStudy\Python打卡训练营\Python打卡训练营\day09 pic\discrete_vs_label_countplots.png)plt.savefig(save_path, dpi300, bbox_inchestight)# 特征间相关系数热力图绿色配色显示相关系数corrdata[feature_cols[label_col]].select_dtypes(includenumber).corr()plt.figure(figsize(12,10))sns.heatmap(corr, annotTrue, fmt.2f, cmapGreens,linewidths0.5, cbar_kws{label:相关系数})plt.title(特征间相关系数热力图, fontsize16)plt.tight_layout()save_pathPath(rD:\Desktop\Postgraduate\PythonStudy\Python打卡训练营\Python打卡训练营\day09 pic\feature_correlation_heatmap.png)plt.savefig(save_path, dpi300, bbox_inchestight)

相关新闻

论文定稿前AI率差一点不过怎么办,助研君精准消红实测

论文定稿前AI率差一点不过怎么办,助研君精准消红实测

论文定稿前AI率差一点不过怎么办,助研君精准消红实测 论文定稿前AI率差一点不过应该怎么精准消红?毕业论文定稿前夕,最让人感到纠结和窒息的莫过于这样一种局面:学校官方规定的合格线是 AI 疑似度必须低于 15%,而你最…

2026/8/23 0:49:56 阅读更多 →
Unlock Music:浏览器里开箱即用的加密音乐文件解锁工具

Unlock Music:浏览器里开箱即用的加密音乐文件解锁工具

Unlock Music:浏览器里开箱即用的加密音乐文件解锁工具 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: http…

2026/8/23 11:11:23 阅读更多 →
免注册无水印图片工具:技术原理与纯前端实现方案

免注册无水印图片工具:技术原理与纯前端实现方案

1. 这篇文章真正要解决的问题 作为一名开发者或内容创作者,你是否经常遇到这样的窘境:临时需要一个简单的图片处理功能,比如压缩、裁剪、格式转换,却不得不面对繁琐的流程?要么下载一个臃肿的桌面软件,安装…

2026/8/23 0:09:38 阅读更多 →

最新新闻

揭秘AI短剧一键生成:从ComfyUI工作流到LLM与图像模型协同实战

揭秘AI短剧一键生成:从ComfyUI工作流到LLM与图像模型协同实战

最近在折腾一些本地化的内容生成工具,发现一个挺有意思的现象:很多朋友拿到一个看起来很酷的“一键生成”项目,兴奋地跑起来,看到第一张图出来就欢呼“成了!”,然后兴冲冲地准备批量处理,结果要…

2026/8/24 2:15:39 阅读更多 →
一人公司的 AI 工作流怎样从目标走到交付?

一人公司的 AI 工作流怎样从目标走到交付?

还是说这个产品应该做轻? 把一件复杂工作直接放进聊天窗口,通常很快就能得到初稿,但后续确认、改稿、找文件和继续推进仍要人工衔接。能复用的不是某一段提示词,而是一条从目标走到交付的工作流。 先说结论 一人公司的稳定 AI 工作…

2026/8/24 2:15:39 阅读更多 →
DeepSeek Harness本地部署与自定义识图API集成实战

DeepSeek Harness本地部署与自定义识图API集成实战

如果你正在寻找一个既能本地部署、又能灵活扩展AI能力的开发工具,那么DeepSeek Harness绝对值得你花时间研究。但很多开发者第一次接触时,会陷入一个误区:以为它只是一个简单的“DeepSeek API封装器”。实际上,它的核心价值远不止…

2026/8/24 2:15:39 阅读更多 →
RealSense 点云重建指南:如何从 RAW 深度图像生成干净点云

RealSense 点云重建指南:如何从 RAW 深度图像生成干净点云

RealSense 点云重建指南:如何从 RAW 深度图像生成干净点云 【免费下载链接】librealsense RealSense SDK 项目地址: https://gitcode.com/GitHub_Trending/li/librealsense librealsense 是 Intel RealSense 深度相机的开源 SDK,负责把相机输出的…

2026/8/24 2:15:39 阅读更多 →
Cortex-M3:为什么手动拷贝 .data 时要用 LDMIA / STMIA 批量指令?

Cortex-M3:为什么手动拷贝 .data 时要用 LDMIA / STMIA 批量指令?

难度:★★ 本文首发于我的嵌入式技术号「OneChan讲Soc嵌入式」,未经授权禁止转载。 如果你曾经手写过 Cortex-M3 的启动代码,一定见过这样的片段: LDR R1, =|Load$$RW_IRAM1$$Base|LDR R2, =|Image$$RW_IRAM1$$Base|LDR R3, =|Image$$RW_IRAM1$$Limit| CopyLoo…

2026/8/24 2:15:39 阅读更多 →
AI智能体编排引擎:并行驱动多AI编程协同的架构与实践

AI智能体编排引擎:并行驱动多AI编程协同的架构与实践

这次我们来看一个名为“Orchestration engine to drive autonomous AI coding agents in parallel”的项目。从标题就能看出它的核心:一个编排引擎,专门用来并行驱动多个自主AI编程智能体。简单说,它不是一个单一的代码生成工具,而…

2026/8/24 2:14:39 阅读更多 →

日新闻

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践 前端安全依赖分层防护。没有任何单一配置能替代输出编码、权限校验和依赖更新。 把不可信内容当作数据 默认使用框架的转义能力;确需渲染 HTML 时,先在服务端或可信的客户端库中进行白名单过滤。避免把用户输入直接赋给 inne…

2026/8/24 1:08:15 阅读更多 →
Windows登录密码存储机制全解析:从哈希算法到安全加固实战

Windows登录密码存储机制全解析:从哈希算法到安全加固实战

1. 项目概述:Windows登录密码的“黑匣子”每次你按下CtrlAltDel,输入密码,然后看到那个熟悉的桌面,这背后发生了一系列复杂而精密的操作。作为一名长期与Windows系统打交道的从业者,我经常被问到:“我的密码…

2026/8/24 1:08:15 阅读更多 →
AI面试系统安全挑战与解决方案

AI面试系统安全挑战与解决方案

1. 项目概述:AI面试系统的安全挑战去年参与某跨国企业AI面试系统部署时,遇到一个典型案例:候选人在视频面试中无意提到竞争对手产品名称,系统竟自动将该信息关联到企业知识库并生成竞品分析报告。这个看似"智能"的功能&…

2026/8/24 1:08:15 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/24 0:06:02 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/24 0:20:20 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/24 0:14:11 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/23 18:47:06 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/22 3:22:48 阅读更多 →