京公网安备 11010802034615号
经营许可证编号:京B2-20210330
我们都知道pandas 是一款功能强大的python库,基于Numpy,支持高性能的矩阵运算,通常在数据挖掘和数据分析领域应用较多,但是pandas 数据清洗功能也不能忽视,今天小编就为大家分享pandas是如何检测和处理缺失数据的。
一、缺失值是什么?
缺失值是指粗糙数据中由于缺少信息而造成的数据的聚类、分组、删失或截断。它指的是现有数据集中某个或某些属性的值是不完全的。通常按照数据缺失机制,可分为以下几种:
1.可忽略的缺失
(1)完全随机缺失 MCAR全称:missing completely at random,顾名思义,指的是数据的缺失是随机的,与已观察到的和未观察到的数据无关
(2)随机缺失MAR,全称:missing at random,该类数据的缺失依赖于其他完全变量
2.不可忽略的缺失NIM(全称:non-ignorable missing ) 或者非随机缺失,这种数据的缺失既依赖于完全变量又依赖于不完全变量本身
二、判断是否有缺失值
1.创建数据
import pandas as pd
import numpy as np
data = pd.DataFrame({'a': [1. 2. 4. np.nan,7. 9], 'b': ['a', 'b', np.nan, np.nan, 'd', 'e'], 'c': [np.nan, 0. 4. np.nan, np.nan, 5], 'd': [np.nan, np.nan, np.nan, np.nan, np.nan, np.nan]})
a b c d
0 1.0 a NaN NaN
1 2.0 b 0.0 NaN
2 4.0 NaN 4.0 NaN
3 NaN NaN NaN NaN
4 7.0 d NaN NaN
5 9.0 e 5.0 NaN
2.判断是否有缺失值及统计
print(data.isnull().any())
a True
b True
c True
d True
print(data.isnull().sum()) #t统计每一列的缺失值个数
a 1
b 2
c 3
d 6
1.删除;
pandas缺失值处理最原始的方法,pandas删除缺失值,通常通过dropna的方法,使用dropna的前提是,缺失值的类型必须是np.nan
删除缺失值为np.nan的所在行
movie.dropna()
参数说明:
axis 参数用于控制行或列,跟其他不一样的是,axis=0 (默认)表示操作行,axis=1 表示操作列。
how 参数可选的值为 any(默认) 或者 all。any 表示一行/列有任意元素为空时即丢弃,all 一行/列所有值都为空时才丢弃。
subset 参数表示删除时只考虑的索引或列名。
thresh参数的类型为整数,它的作用是,比如 thresh=3.会在一行/列中至少有 3 个非空值时将其保留。
2.填充。
最常见的是使用 fillna 完成填充。
data.fillna(0)
除了可以使用标量来填充之外,还可以使用前一个或后一个有效值来填充。
设置参数 method=‘pad’ 或 method=‘ffill’ 可以使用前一个有效值来填充。
设置参数 method=‘bfill’ 或 method=‘backfill’ 可以使用后一个有效值来填充。
3.替换。
有时候,某些异常值也会被当做缺失值来处理,可以使用 replace 方法来替换缺失值。
比如: user_info.replace({“age”: 40. “birth”: pd.Timestamp(“1978-08-08”)}, np.nan) #将年龄40替换 日期为1978-08-08也替换
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
一、问题:为什么 ID 会"断号" 很多刚接触 MySQL 的同学都会有一个困惑:表里的主键 ID 是自增的,删了中间几行数据之后,ID 变 ...
2026-10-22一、问题场景:为什么会重复 JOIN 同一个子查询 在写复杂 SQL 时,经常遇到这种需求:同一张表或同一个聚合子查询,要和主表关联 ...
2026-10-22人力资源专员是HR体系的执行入口。招聘信息发布、简历初筛、面试安排、考勤汇总、入离职手续、劳动合同与档案管理,大多由这个岗 ...
2026-10-22人力资源经理问“必学技巧”,真正要解决的不是知识清单不够长,而是时间有限、业务催得紧,学完却用不上。更有效的路径是:先用 ...
2026-10-22内容营销岗位的核心任务,不是“把文案写得更漂亮”,而是围绕目标受众,用持续的内容供给影响认知、推动转化并沉淀复购。它至少 ...
2026-10-22理财经理培训课程很多,难的是判断“先学什么、后学什么、学完能做什么”。与其按课程名称罗列,不如先看岗位任务:客户分层与维 ...
2026-10-22理财经理的知识结构,可以先用一句话概括:合规与产品知识决定“不出错”,客户经营与资产配置决定“够不够专业”,市场研判与数 ...
2026-10-22经济学背景做数据分析,优势不在工具,而在问题意识:供需如何相互作用、成本与收益如何权衡、变量之间是相关还是因果。真正的缺 ...
2026-10-22需要,但要把“需要”理解准确。经济学本身就在处理数据:GDP、物价、就业、企业营收、问卷调研,都是经济分析的原料。真正的区 ...
2026-10-22经济学分析能力不是单一技能,它至少由三层构成:把现实问题转成可检验假设的理论框架能力、用数据与统计方法验证假设的工具能力 ...
2026-10-22金融分析师的知识提升,先补的不是更多模型,而是让结论可复核的底层能力。按任务顺序,大致是四层:财务与业务理解、指标口径管 ...
2026-10-22金融分析师的“通用技能”,指换到不同机构、不同行业组仍用得上的底层能力,而非某家公司内部系统的操作经验。按任务拆,日常要 ...
2026-10-22先给结论:数据分析证书不是金融分析师的准入条件,招聘方也不会因为一张证书就直接判断你能做分析。要不要考,取决于你当前任务 ...
2026-10-22金融分析师的核心技能,不是“会看K线”或“会讲宏观”,而是能把一家公司、一个行业或一类资产,转化为可核查的数据判断与书面 ...
2026-10-22产品经理的知识提升,不是把需求文档、原型、SQL、数据分析、项目管理都学一遍,而是先对准目标岗位的真实任务,找出自己最缺的 ...
2026-10-22产品专员提升工作知识,最有效的方式不是先囤课程,而是围绕日常交付的四件事来补:需求调研与优先级判断、原型与PRD表达、竞品 ...
2026-10-22产品运营专员提升个人能力,常见误区是先把Excel、SQL、Python列成一张学习清单,然后从第一个工具开始学。更有效的做法是先回答 ...
2026-10-22产品运营的能力提升,最怕从“课程目录”出发:今天学增长模型,明天背SQL语法,学完却说不清自己负责的功能为什么激活率低。更 ...
2026-10-22产品经理的技能和影响力不是两条分开的赛道。技能决定你能不能把问题分析清楚、把方案设计对;影响力决定你的判断能否被团队接受 ...
2026-10-22产品经理要学的数据分析能力,不是“会写SQL”或“会用BI工具”这么简单。更准确地说,是围绕需求评估、功能迭代、指标监控、实 ...
2026-10-22