可视化实操记录(自用)
流程
读取数据
original_data = pd.read_csv(“Penguins.csv”)
original_data.head()
评估和清理数据
cleaned_data = original_data.copy() #备份
结构
original_data.sample(5)
数据符合“每个变量为一列,每个观察值为一行,每种类型的观察单位为一个表格”,才不存在结构性问题。
内容
更改数据类型
cleaned_data[“sex”]=cleaned_data[“sex”].astype(“category”)——把分类变量从object变成category
空缺值
cleaned_data.info()——了解大概哪列缺,缺多少
cleaned_data[cleaned_data[“culmen_length_mm”].isnull()]——提取缺失值对应的行
cleaned_data.drop(3, inplace=True)——缺失得太厉害,没有价值的行直接删除。
缺失性别变量的观察值具备其它数据,仍然可以为分析提供价值。由于Pandas以及Matplotlib、Seaborn会自动忽略缺失值,可以保留这些行。
重复值
**根据数据变量的含义以及内容来看,允许变量重复,**我们不需要对此数据检查是否存在重复值。
什么是不能重复的?比如学号。
不一致数据
重点检查分类变量。
cleaned_data[“sex”].value_counts()
sex列里存在一个英文句号值,并不代表任何有效性别,我们应当把该值替换为NaN空值。
cleaned_data[‘sex’] = cleaned_data[‘sex’].replace(“.”, np.nan)
脱离实际的数据
cleaned_data.describe()
从以上统计信息来看,cleaned_house_price里不存在脱离现实意义的数值。
数据可视化探索
sns.set_palette(“pastel”) #设置图表色盘为"pastel"
单个分类变量——饼图
species_count = cleaned_data[“species”].value_counts() #统计类别对应的个数
plt.pie(species_count,labels=species_count.index,autopct=“%.1f%%”) #标签就用统计生成的标签索引
可以看出比例分布。
两两分类变量——countplot+hue颜色分类
sns.countplot(data=cleaned_data, x=“island”, hue=“species”)
可以显示不同岛上的企鹅种类数量。
数值变量之间的关系——pairplot
sns.pairplot(cleaned_data)
如果要根据种类进行细分:
sns.pairplot(cleaned_data, hue=‘species’)
补充
.astype()

astype() 参数:目标数据类型。
返回一个新的 Series(如果是对 DataFrame 的某一列操作)或 DataFrame(如果是对整个 DataFrame 操作),其数据类型已经按照指定的参数进行了转换。原始的 Series 或 DataFrame 并不会被直接修改。
三种赋值方式
cleaned_data = original_data:纯引用赋值
并没有创建一个新的对象,而是让 cleaned_data 和 original_data 指向内存中的同一个对象。也就是说,这两个变量实际上是同一个对象的不同名称。
cleaned_data = original_data.copy():浅拷贝
浅拷贝会创建一个新的对象,但是如果原对象中的元素是可变对象(如列表、字典等),它只会复制引用。也就是说,那么新对象和原对象中的这些可变元素仍然会指向同一个内存地址。
当你修改 cleaned_data 中的子列表时,original_data 中的对应子列表也会被修改。
cleaned_data = original_data.copy(deep=True):深拷贝
深拷贝会递归地复制对象及其所有嵌套的对象,创建一个完全独立的新对象,它们在内存中没有任何共享的部分。
当你修改 cleaned_data 中的子列表时,original_data 不会受到影响。
综上,简单赋值只是创建引用,浅拷贝复制对象结构但共享嵌套的可变对象,而深拷贝则创建一个完全独立的副本。
在原数据中删除行
cleaned_data.drop([3,339], inplace=True)等价于cleaned_data = cleaned_data.drop([3,339])
当使用 inplace=True 时,drop 方法会直接在原 DataFrame 上进行修改,不会返回新的对象。
替换元素
replace 是 pandas 中 Series 和 DataFrame 对象都有的一个方法,其作用是将指定的值替换为其他值。
第一个参数 “.” 表示要被替换的值,
第二个参数 np.nan 是 NumPy 库中的 NaN值。所以cleaned_data[‘sex’] = cleaned_data[‘sex’].replace(“.”, np.nan)的意思是把 cleaned_data[‘sex’] 列中所有值为 “.” 的元素替换为 NaN。
饼图
plt.pie(species_count,labels=species_count.index,autopct=“%.1f%%”)
labels不仅可以传Series,还可以传列表等其它可迭代对象。所以这里直接用species_count
配对图
sns.pairplot(data=cleaned_data,hue=“species”,kind=“reg”, plot_kws={‘scatter_kws’:{‘alpha’:0.3}}) #对种类细分,并增加回归线,修改点的透明度
**kind 参数用于指定非对角线子图(即散点图)的绘制类型。**设置为 “reg” 表示在散点图的基础上添加线性回归拟合线。这样可以帮助我们直观地观察变量之间的线性关系趋势。默认值是kind=“scatter”。
plot_kws={‘scatter_kws’:{‘alpha’:0.3}}
plot_kws 是一个字典类型的参数,用于传递额外的绘图选项,这些选项会被应用到所有的子图上。
其中 ‘scatter_kws’ 是 plot_kws 字典中的一个键,它对应的值也是一个字典,专门用于设置散点图的相关属性。
‘alpha’: 0.3 是 scatter_kws 字典中的一个键值对,alpha 表示透明度,取值范围是 0 到 1,0 表示完全透明,1 表示完全不透明。这里设置为 0.3,意味着散点图中的数据点会有一定的透明度,当数据点比较密集时,使用较低的透明度可以避免数据点相互遮挡,更清晰地展示数据的分布情况。单个散点图直接加上’alpha’: 0.3参数就好。

相关文章:
可视化实操记录(自用)
流程 读取数据 original_data pd.read_csv(“Penguins.csv”) original_data.head() 评估和清理数据 cleaned_data original_data.copy() #备份 结构 original_data.sample(5) 数据符合“每个变量为一列,每个观察值为一行,每种类型的观察单位为一…...
二叉树的遍历方式和子问题思路
目录 二叉树的遍历: 前序遍历: 中序遍历: 后序遍历: 二叉树的基本操作: 求树的结点个数(递归遍历思路): 求树的结点个数(子问题思路): 求树的…...
运用Deek Seeker协助数据分析
我的数据源有两张表,一个是每日销售表(字段有日期、产品名称、实际销量),一个是每月目标表(字段有年度月份、产品名称、目标销量);我的需求是,按月、按年来统计每个产品的目标完成情况请问用PowerBl进行分析,应该如何建立数据模型…...
服务器之连接简介(Detailed Explanation of Server Connection)
一台服务器最大能支持多少连接?一台客户端机器最多能发起多少条连接?? 我们知道TCP连接,从根本上看其实就是client和server端在内存中维护的一组【socket内核对象】(这里也对应着TCP四元组:源IP、源端口、…...
低空经济:开启未来空中生活的全新蓝海
引言 随着科技的进步,我们不再仅仅依赖地面交通和传统物流。你是否曾幻想过,未来的某一天,快递、外卖可以像魔法一样直接从空中送到你手中?或者,你能乘坐小型飞行器,快速穿梭于城市之间,告别拥堵…...
主动视觉可能就是你所需要的:在双臂机器人操作中探索主动视觉
AV-ALOHA 系统使用用于 AV 的 VR 耳机实现直观的数据收集,并且 用于作的 VR 控制器或引线臂。这有助于捕捉全身和头部 远程作我们的真实和模拟系统的运动,记录来自 6 个的视频 不同的摄像头,并为我们的 AV 仿制学习策略提供训练数据。 加州大…...
洛谷 P6419 COCI2014/2015 #1 Kamp 题解
题意 一颗树 n n n 个点, n − 1 n-1 n−1 条边,经过每条边都要花费一定的时间,任意两个点都是联通的。 有 k k k 个人(分布在 k k k 个不同的点)要集中到一个点举行聚会。 聚会结束后需要一辆车从举行聚会的这点…...
在 Vue 项目中使用 SQLite 数据库的基础应用
目录 一、环境准备二、数据库连接与操作1. 创建数据库连接2. 创建表3. 插入数据4. 查询数据5. 更新数据6. 删除数据 三、在 Vue 组件中使用 SQLite 一、环境准备 安装 Node.js 和 npm:确保已安装 Node.js 和 npm。 创建 Vue 项目:使用 Vue CLI 创建一个…...
AI会话问答的页面滚动处理(参考deepseek页面效果)
近期在接入deepseekR1的深度思考,研究了下deepseek官网的滚动效果,大概如下:用户发出消息后,自动滚动到页面最底部,让最新消息展示在视野中,这时候,我们先处理一次滚动: const scrol…...
GRN前沿:DGCGRN:基于有向图卷积网络的基因调控网络推理
1.论文原名:Inference of gene regulatory networks based on directed graph convolutional networks 2.发表日期:2024 DGCGRN框架 中心节点和节点的构建 局部增强策略 1. 问题背景 在基因调控网络中,许多节点的连接度较低(即…...
MongoDB 入门操作指南
文章目录 MongoDB 入门操作指南1. 连接到 MongoDB 数据库2. 查看当前数据库3. 显示所有数据库4. 切换或创建数据库5. 查看当前数据库中的所有集合6. 创建集合7. 插入文档插入单个文档插入多个文档 8. 查询文档查询所有文档查询匹配条件的文档格式化查询输出 9. 更新文档更新单个…...
共享设备管理难?MDM助力Kiosk模式一键部署
目录 1. 简化设备部署与配置:实现一键式部署 2. 自动化应用更新与内容推送:确保设备始终保持最新状态 3. 权限控制与设备安全:防止滥用与数据泄露 4. 远程管理与故障诊断:保障设备长期稳定运行 5. 数据分析与报告:…...
HttpClient-Java程序中发送Http请求
配置 <dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.13</version> </dependency> ps:aliyun-sdk-oss中已引入上述配置 HttpClient的核心API: Htt…...
硬件-电源-隔离与非隔离的区别
文章目录 一:隔离电源与非隔离电源1.1 充电器触电新闻1.2 电路拓扑1.3 隔离电源与非隔离电源的优缺点1.3 隔离电源与非隔离电源的选择1.3.1 隔离电源1.3.2 非隔离电源 二:注意事项2.1 隔离电源结构图2.1 隔离耐压测试方法 三:感悟道友&#x…...
Kubernetes 最佳实践:Top 10 常见 DevOps/SRE 面试问题及答案
1. 如何在 Kubernetes 中设置资源请求和限制? 资源请求确保容器有最小资源量(CPU/内存),而限制则强制容器消耗的最大资源量。这有助于高效资源分配并防止资源争用。 示例: resources:requests:memory: "256Mi&…...
Training for Computer Use
Training for Computer Use 核心事件:多家科技公司推出能操控计算机的智能体,字节跳动和清华大学团队引入UI - TARS模型,展示了训练模型实现计算机操控能力的新成果。 UI - TARS模型 基本信息:是视觉 - 语言模型Qwen2 - VL的微调版…...
PH热榜 | 2025-02-14
1. Beatoven.ai 标语:能创作完美背景音乐的AI作曲家 介绍:Beatoven.ai 能根据简单的提示生成惊艳的背景音乐,用于你的内容创作。它是由世界各地的真实音乐家倾力打造(并使用了大量数据)。无需任何音乐专业知识&#…...
工业物联网远程监控系统优化方案,基于巨控GRM553Y-CHE
工业物联网远程监控系统优化方案 ——基于巨控GRM553Y-CHE的西门子S7-1500 PLC多站点无线集成方案 1. 项目背景与概述 巨控科技作为工业物联网解决方案提供商,专注于PLC无线通信与远程监控技术研发,其YunPLC安全平台已服务超30,000工业终端,…...
报名丨Computer useVoice Agent :使用 TEN 搭建你的 Mac Assistant
与 TEN 相聚在「LET’S VISION 2025」大会,欢迎来展位上跟我们交流。这次我们还准备了一场聚焦「computer use」的工作坊,功能新鲜上线,线下首波体验! 📅 TEN 展位:2025年3月1日-2日 TEN workshop&#x…...
Flutter 中的生命周期
在 Flutter 中,StatefulWidget 和 StatelessWidget 这两种 Widget 的生命周期不同,主要关注的是 StatefulWidget,因为它涉及到状态的管理和更新。 StatefulWidget 的生命周期: 1. 创建阶段 (Create) createState():…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
