pandas DataFrame 缺失值处理(数据预处理)
pandas DataFrame 缺失值处理 (数据预处理)
创建DataFrame数据样例
import pandas as pd
import numpy as np df = pd.DataFrame(np.random.rand(3,3),index=[1,3,4,7,9],columns=['a','b','c'])
df = df.reindex(index = range(5))
df
输出结果如下:
查看各字段是否存在缺失值的几种方法
#查看df中各字段是否存在缺失值
print(df.isna().any())
print("------------")
print(df.isnull().any())
print("------------")
print(np.isnan(df).any())
三种方法输出结果都一样如下:
还有一种我更喜欢的方法: DataFrame 的 info() 方法:
#用info()方法查看非空值情况 (推荐)
df.info()
输出结果如下:
输出结果主要看框出来的两部分,从结果可以看出,DataFrame共有5条数据,a、b、c三个字段中的非空数据都只有三个,因此可以判断出每个字段都存在缺失值。
缺失值的处理方法
- 方法一,用dropna() 方法直接丢弃含有缺失值的数据:
test = df.dropna()
test
可以看到缺失值含有缺失值的数据被直接丢弃了,在真实的处理任务中,如果缺失值较少,整体数据量又很大时,直接丢弃缺失值对整体的影响不大。
- 方法二,填充法。可以用某些数值来填充缺失值,如指定用数值0填充,或者是更常用的用前后值填充、均值填充、众数填充等。
用前后值填充:
print(df.fillna(method='ffill'))#用前一个值填充
print(df.fillna(method='backfill'))#用后一个值填充
用均值填充:
d = pd.DataFrame(np.arange(9).reshape(3,3),index = [0,1,3])
d = d.reindex(index = range(5))
print(d)
print(d.fillna(d.mean()))#每列的均值填充
填充前:
填充后:
pandas DataFrame 缺失值处理(数据预处理)相关推荐
- pandas dataframe缺失值(np.nan)处理:识别缺失情况、删除、0值填补、均值填补、中位数填补、加缺失标签、插值填充详解及实例
pandas dataframe缺失值(np.nan)处理:识别缺失情况.删除.0值填补.均值填补.中位数填补.加缺失标签.插值填充详解及实例 isnull().natna().isna().fill ...
- 在Pandas DataFrame中重塑数据
目录 介绍 透视Pandas DataFrame 在Pandas DataFrame中对数据进行分组 总结 使用我们的数据集后,我们将快速查看可以使用流行的Python库从数据集轻松创建的可视化,然后 ...
- 清理Pandas DataFrame中的数据
目录 介绍 清理按键 查找不一致的数据 总结 确保整个DataFrame一致是很重要的.这包括确保数据的类型正确,消除不一致之处并标准化值. 下载CSV和数据库文件-127.8 KB 下载源代码122 ...
- 蠎周刊418 ~Pandas DataFrame: 使处理数据令人愉快
原文: PyCoder's Weekly - Issue #418 200429 Zoom.Quiet(大妈) 用时 42 分钟 完成快译 200429 Zoom.Quiet(大妈) 用时 37 分钟 ...
- pandas 第一行_Pandas数据预处理相关经验
在这里记录一些平常用的pandas操作以供参考. 学习相关操作的最好方法还是找官方的文档最好,否则就会产生百度1小时,查文档3分钟的尴尬处境,之前为了找python里类似 in 的操作搜了半天资料也没 ...
- python预处理缺失值_数据预处理 第3篇:数据预处理(使用插补法处理缺失值)...
插补法可以在一定程度上减少偏差,常用的插补法是热卡插补.拟合插补和多重插补.拟合插补,要求变量间存在强的相关性:多重插补(MCMC法),是在高缺失率下的首选插补方法,优点是考虑了缺失值的不确定性. 一 ...
- dataframe 修改某列_python dataframe操作大全数据预处理过程(dataframe、md5)
hive表的特征选择,不同表之间的join 训练数据.测试数据的分开保存 使用pandas进行数据处理 显示所有列:pd.set_option('display.max_columns', None) ...
- dataframe修改列名_python dataframe操作大全数据预处理过程(dataframe、md5)
hive表的特征选择,不同表之间的join 训练数据.测试数据的分开保存 使用pandas进行数据处理 显示所有列:pd.set_option('display.max_columns', None) ...
- python异常值替换为缺失值_数据预处理之异常值(python)
除了缺失值外,异常值也是数据中常有的噪音,但并非异常值都需要被处理,异常值出现的原因有很多,结合实际业务,他们往往可以被分为"真异常"和"假异常". 有时特定业 ...
最新文章
- 几种常用的C#排序方法简介
- JDBC-day01
- 你最喜欢的 iOS 开发的技巧和提示有哪些?
- mysql网络安装教程_详细教程--MySQL的安装与配置
- PHP的str_split分割字符串成数组
- 【数据结构与算法】之深入解析“删除链表的倒数第N个结点”的求解思路与算法示例
- ArrayBlockingQueue原理分析
- 现代制造工程笔记04-精密超精密加工和特种加工(主要掌握加工原理加工条件)
- 巨人网络:已组建研发团队对元宇宙游戏开展自研探索
- 操作指令详解_爱码小士丨 APP稳定性测试(附视频详解)
- 如何阻止分布式拒绝服务***
- 转 windows查看端口占用命令
- Java对象的强引用、软引用、弱引用和虚引用 笔记
- opencv3计算机视觉+Python(四)
- Java编程题——判断年份是否为闰年
- c语言转化音乐格式转换器安卓版,音频提取格式转换APP
- 软考架构设计师论文(微服务)
- MES系统质量追溯功能,到底在追什么?
- lightdm 循环登录问题
- 水果忍者(数学 叉积)