利用pandas处理缺失数据

工作中少不了各种缺失数据,对其进行处理的方式也可以是各有不同


概览

  • dropna : 对缺失数据进行过滤
  • fillna :以特定的方式补充缺失数据
  • isnull :返回布尔对象
  • notnull: isnull的否定

1、删除缺失数据dropna()

import pandas as pd
import numpy as np
data = pd.DataFrame([[2.3, 6.6, 3.7], [1., np.nan, np.nan],
                     [np.nan, np.nan, np.nan], [np.nan, 6.5, 4.]])

data2 = data.dropna()
data

利用pandas处理缺失数据_第1张图片

# 默认是对行进行处理,有空值就会删除
data2

在这里插入图片描述

# how =“all”,全部是空值这一行才删除
data.dropna(how='all')

利用pandas处理缺失数据_第2张图片

# 丢弃列 axis =1
data['临时'] =np.nan
data

利用pandas处理缺失数据_第3张图片

data.dropna(axis =1,how='all')

利用pandas处理缺失数据_第4张图片

# thresh可以只删除部分的缺失值的行,(对列不起效)
data.dropna(thresh = 2)

利用pandas处理缺失数据_第5张图片

2、填补缺失数据 fillna()

#  用0填充,inplace =True可以实现源数据的修改
data.fillna(0)

利用pandas处理缺失数据_第6张图片

# 调用字典,不同的列实现不同的填充
data.fillna({
     2:'#',"临时":"%%"})

利用pandas处理缺失数据_第7张图片

method = ffill,limit=2 也可以进行定制化限制

  • value:用固定的值填充
  • method: 插值方式,未指定的话默认是ffill
  • axis:待填充的轴,默认axis =0
  • inplace:数据源上修改
  • limit:(向前向后填充),可以连续填充的最大数量

更详细的源代码和阅读体验可以转至GitHub

「公众号:琦度」

利用pandas处理缺失数据_第8张图片

你可能感兴趣的:(数据分析,数据分析,python)