对Pandas DataFrame缺失值的查找与填充示例讲解

yipeiwu_com6年前Python基础

查看DataFrame中每一列是否存在空值:

temp = data.isnull().any() #列中是否存在空值
print(type(temp))
print(temp)

结果如下,返回结果类型是Series,列中不存在空值则对应值为False:

<class 'pandas.core.series.Series'>
eventid        False
iyear         False
imonth        False
iday         False
approxdate       True
extended       False
resolution       True
...
Length: 135, dtype: bool

列数太多,可以将Series转化为DataFrame不存在空值的列:

colnull=pd.DataFrame(data={'colname': temp.index,'isnulls':temp.values})
#print(colnull.head())
#不存在空值的列名
print(colnull.loc[colnull.isnulls==False,'colname'])

结果如下:

0       eventid
1        iyear
2        imonth
3         iday
...
Name: colname, dtype: object

如下取出某一列(nkill)存在空值的记录,返回一个DataFrame:

data[data.nkill.isnull()]

缺失值填充,inplace值为真代表直接在原DataFrame上进行操作:

data['doubtterr'].fillna(0, inplace=True)
data['propvalue'].fillna(data['propvalue'].median(),inplace=True)
 

以上这篇对Pandas DataFrame缺失值的查找与填充示例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python pandas 对series和dataframe的重置索引reindex方法

reindex更多的不是修改pandas对象的索引,而只是修改索引的顺序,如果修改的索引不存在就会使用默认的None代替此行。且不会修改原数组,要修改需要使用赋值语句。 series.r...

举例详解Python中threading模块的几个常用方法

threading.Thread Thread 是threading模块中最重要的类之一,可以使用它来创建线程。有两种方式来创建线程:一种是通过继承Thread类,重写它的run方法;另...

pygame实现简易飞机大战

利用pygame实现了简易版飞机大战。源代码如下: # -*- coding:utf-8 -*- import pygame import sys from pygame.local...

Python异常模块traceback用法实例分析

本文实例讲述了Python异常模块traceback用法。分享给大家供大家参考,具体如下: traceback模块被用来跟踪异常返回信息. 如下例所示: import traceba...

Python如何实现文本转语音

准备 我测试使用的Python版本为2.7.10,如果你的版本是Python3.5的话,这里就不太适合了。 使用Speech API 原理 我们的想法是借助微软的语音接口,所以我们肯...