恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Python打卡第9天

  • 首页
  • 资讯中心
  • /
  • Python打卡第9天

相关资讯

库存积压和缺货并存,问题出在哪儿? 2026/8/21 21:46:17
基于SpringBoot的电影深度解读与影评社区网站的设计与实现(毕设源码+文档) 2026/8/21 21:46:17
关于思考与工具的一些随想(主要是基于ai工具) 2026/8/21 21:46:17

最新资讯

Kadō开源项目:SwiftUI与Observation框架构建习惯追踪App的实战指南
Java面试核心:JVM与微服务架构深度解析
Java面试避坑指南:从水货程序员到合格工程师
AI Agent奖励模型评测基准:开源工具实现标准化评估与成本优化
ARMOR++:基于智能体编排的多域可迁移深伪攻击框架解析
Montserrat 字体免费商用,9 字重 3 家族:从安装到自建字体的完整指南

今日推荐

OpenCode AI编程助手:从核心原理到本地部署的完整实践指南
基于SpringBoot与Vue的企业资产与采购管理系统设计与实现(程序+文档+讲解)
Linux命令-uucico(UUCP传输程序)

本周热门

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码
【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码
隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

Python打卡第9天

发布时间:2026/8/21 21:51:17
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)

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号