DAY 4 缺失值的处理

\1. 打开数据

import pandas as pd
data = pd.read_csv(r'data.csv')
data

\2. 查看数据

# 打印数据集的基本信息(列名、非空值数量、数据类型等)
print("data.info() - 数据集的基本信息(列名、非空值数量、数据类型等):")
print(data.info())# 打印数据集的形状(行数和列数)
print("\ndata.shape - 数据集的形状(行数, 列数):")
print(data.shape)# 打印数据集的所有列名
print("\ndata.columns - 数据集的所有列名:")
print(data.columns)# 打印数值列的基本统计量(计数、均值、标准差等)
print("\ndata.describe() - 数值列的基本统计量(计数、均值、标准差等):")
print(data.describe())# 打印各列的数据类型
print("\ndata.dtypes - 各列的数据类型:")
print(data.dtypes)

\3. 查看空值

# 打印布尔矩阵(显示前5行示例)
print("data.isnull() - 布尔矩阵(True表示缺失值,False表示非缺失值):")
print(data.isnull().head())  # 仅展示前5行避免输出过长# 打印每列缺失值计数
print("\ndata.isnull().sum() - 每列缺失值数量统计:")
print(data.isnull().sum())

4.众数 中位数进行填补缺失值

#查看一列数据
data["Credit Score"]
#  众数填补
import pandas as pd
data = pd.read_csv('data.csv') #需要重新读取一遍数据
mode = data['Credit Score'].mode()
# mode() 会返回数据中出现频率最高的所有值,如果频次相同,会返回最多每个值。
mode = mode[0] # 取第一个值
data['Credit Score']=data['Credit Score'].fillna(mode)
# 检查下是否有缺失值
data['Credit Score'].isnull().sum()# 这个警告是 Pandas 库中的一个常见问题,称为“链式赋值”(chained assignment)警告。它通常发生在对 DataFrame 或 Series 进行操作时,尤其是在使用 inplace=True 参数时。Pandas 在未来版本中可能会改变这种行为,因此它提醒你避免潜在的问题。
# 问题原因
# 在你的代码中:
# Python
# 复制
# data['Credit Score'].fillna(mode, inplace=True)
# 这里 data['Credit Score'] 返回的是一个 Series,而对这个 Series 使用 inplace=True 可能会导致 Pandas 无法确定操作是否真正作用于原始 DataFrame,从而引发警告。
# 解决方法
# 为了避免这个警告,可以使用以下两种方法之一:
# 方法1:直接赋值
# 将 fillna 的结果直接赋值回原始 DataFrame 的对应列:
# Python
# 复制
# data['Credit Score'] = data['Credit Score'].fillna(mode)
# 这种方法简单且明确,不会引发链式赋值的警告。

\5. 利用循环补全所有列的空值

data = pd.read_csv(r'data.csv')
data.columns
#转换成列表
c = data.columns.tolist()for i in c:if data[i].dtype != 'object': # 找到为数值型的列data[i]=data[i].fillna(data[i].mean()) # 用均值填充
data.isnull().sum()data = pd.read_csv(r'data.csv')
data.columns
#转换成列表
c = data.columns.tolist()for i in c:if data[i].dtype != 'object': # 找到为数值型的列data[i]=data[i].fillna(data[i].mean()) # 用均值填充
data.isnull().sum()

浙大疏锦行

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

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

相关文章

Java面试实战:从Spring Boot到分布式缓存的深度探索

Java面试实战:从Spring Boot到分布式缓存的深度探索 场景介绍 在一家著名的互联网大厂,面试官老王正对求职者“水货程序员”明哥进行Java技术面试。明哥带着一点紧张和自信,迎接这场技术“拷问”。 第一轮:基础问题 老王&#…

UART、SPI、IIC复习总结

一、UART 1、UART和USART的异同? 相同点 基本功能:都是用于串行通信的数据收发设备,能够实现数据在不同设备之间的传输。在异步通信模式下,二者的工作方式相似,都使用起始位、数据位、校验位(可选&#…

PostGIS实现矢量数据转栅格数据【ST_AsRaster】

ST_AsRaster函数应用详解:将矢量数据转换为栅格数据 [文章目录] 一、函数概述 二、函数参数与分组说明 三、核心特性与注意事项 四、示例代码 五、应用场景 六、版本依赖 七、总结 一、函数概述 ST_AsRaster是PostGIS中用于将几何对象(如点、线…

Linux 线程(上)

前言:大家早上中午晚上好!!今天来学习一下linux系统下所谓的线程吧!!! 一、重新理解进程,什么是进程? 1.1 图解 其中黑色虚线部分一整块就是进程,注意:一整…

Java API学习笔记

一.类 1. String 类 不可变性:String对象创建后不可修改,每次操作返回新对象 String str "Hello"; str.length(); str.charAt(0); str.substring(1, 4); str.indexOf("l"); str.equals("hel…

医疗信息系统安全防护体系的深度构建与理论实践融合

一、医疗数据访问系统的安全挑战与理论基础 1.1 系统架构安全需求分析 在医疗信息系统中,基于身份标识的信息查询功能通常采用分层架构设计,包括表现层、应用层和数据层。根据ISO/IEC 27001信息安全管理体系要求,此类系统需满足数据保密性…

5.18本日总结

一、英语 复习list3list28 二、数学 学习14讲部分内容,1000题13讲部分 三、408 学习计网5.3剩余内容 四、总结 计网TCP内容比较重要,连接过程等要时常复习;高数学到二重积分对定积分的计算相关方法有所遗忘,需要加强巩固。…

MATLAB2025新功能

截至2023年9月,MATLAB官方尚未公布2025版本的具体更新内容。根据历史更新规律和技术发展趋势,未来版本可能会在以下方面进行优化: AI与深度学习增强 可能新增自动化模型压缩工具强化生成式AI模型支持改进的ONNX格式转换接口 性能提升 矩阵运…

算法题(149):矩阵消除游戏

审题: 本题需要我们找到消除矩阵行与列后可以获得的最大权值 思路: 方法一:贪心二进制枚举 这里的矩阵消除时,行与列的消除会互相影响,所以如果我们先统计所有行和列的总和,然后选择消除最大的那一行/列&am…

Uniapp、Flutter 和 React Native 全面对比

文章目录 前言Uni-app、Flutter 和 React Native 跨平台框架对比报告1. 性能对比2. 跨平台能力3. 学习曲线4. 社区生态与第三方库5. 原生能力扩展6. UI 渲染能力7. 企业支持与典型使用场景8. 开发效率与工具链 前言 将对 Uniapp、Flutter 和 React Native 进行全面对比&#x…

JAVA SE 多线程(上)

文章目录 📕1. Thread类及常见方法✏️1.1 创建线程✏️1.2 Thread 的常见构造方法✏️1.3 Thread 的几个常见属性✏️1.4 启动一个线程---start()✏️1.5 中断一个线程---interrupt()✏️1.6 等待一个线程---join()✏️1.7 获取当前线程引用✏️1.8 休眠当前线程 &…

Linux云计算训练营笔记day10(MySQL数据库)

Linux云计算训练营笔记day10(MySQL数据库) 目录 Linux云计算训练营笔记day10(MySQL数据库)ifnull别名聚合函数group byHAVING 子查询关联查询 ifnull 在DQL语句中可以使用函数或表达式 函数 IFNULL(arg1,arg2) 如果arg1为NULL,函…

上位机知识篇---流式Web服务器模式的实现

文章目录 前言 前言 本文简单介绍了流式Web服务器模式的实现。

Dify与n8n全面对比指南:AI应用开发与工作流自动化平台选择【2025最新】

Dify与n8n全面对比指南:AI应用开发与工作流自动化平台选择【2025最新】 随着AI技术与自动化工具的迅速发展,开发者和企业面临着多种平台选择。Dify和n8n作为两个备受关注的自动化平台,分别专注于不同领域:Dify主要面向AI应用开发&…

day19-线性表(顺序表)(链表I)

一、补充 安装软件命令: sudo apt-get install (软件名) 安装格式化对齐:sudo apt-get install clang-format内存泄漏检测工具: sudo apt-get install valgrind 编译后,使用命令 valgrind ./a.out 即可看内存是…

AI:人形机器人一定是人的形状吗?

本文将从技术角度分析人形机器人是否必须是人的形状,以及人形与非人形机器人在适用场合、优缺点上的差异。以下是详细解答: 人形机器人一定是人的形状吗? 不,人形机器人(Humanoid Robot)在技术上通常指外…

布隆过滤器和布谷鸟过滤器

原文链接:布隆过滤器和布谷鸟过滤器 布隆过滤器 介绍 布隆过滤器(Bloom Filter)是 1970 年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数,检查值是“可能在集合中”还是“绝对不在集合中” 空间效率高&a…

无需配置光猫,使用网管交换机配合路由器的IPTV功能实现单线复用

一、背景 弱电箱和电视柜只预留了一根网线,路由器放在电视柜,想实现既可以上网又可以正常观看iptv,本文提供了一种方法。 二、准备工作 1、带iptv功能的路由器;2、水星sg105pro网管交换机;3、网线若干; …

深入理解SpringBoot中的SpringCache缓存技术

深入理解SpringBoot中的SpringCache缓存技术 引言 在现代应用开发中,缓存技术是提升系统性能的重要手段之一。SpringBoot提供了SpringCache作为缓存抽象层,简化了缓存的使用和管理。本文将深入探讨SpringCache的核心技术点及其在实际业务中的应用场景。…

2025认证杯数学建模A题思路+代码+模型:小行星轨迹预测

2025认证杯数学建模A题思路代码模型,详细内容见文末名片 近地小行星( Near Earth Asteroids, NEAs )是轨道相对接近地球的小行 星,它的正式定义为椭圆轨道的近日距不大于 1.3 天文单位( AU )的小行星。 …