步骤1、环境准备

右击桌面上选择【Open in Terminal】 打开终端。
在弹出的终端中输入【ipython】进入Python的解释器中,如图1所示。

(3)pandas 缺失数据处理

 

图1 ipython解释器

步骤2、导入所需要的包

导入实验常用的python包。如图2所示。
【import pandas as pd】pandas用来做数据处理。
【import numpy as np】numpy用来做高维度矩阵运算.
【import matplotlib.pyplot as plt】matplotlib用来做数据可视化。

(3)pandas 缺失数据处理

 

图2 导入所需要的包

步骤3、pandas缺失数据过滤

生成实验所需要的数据,如图3所示。
【dates = pd.date_range(‘20170101’,’20170106’)】生成6个索引
【df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=list(‘ABCD’))】生成初始数据
【df.loc[dates[0],’B’] = np.nan】设置第一行B列为空
【df.loc[dates[3:5],’D’] = np.nan】设置第4至6行D列为空
【df】查看生成的数据

(3)pandas 缺失数据处理

 

图3 生成数据

dropna()函数同样会丢掉所有含有空元素的数据,如图4所示。
【df.dropna()】丢失掉含有空元素的数据
【df.dropna(how=’any’)】等同于上条命令
【df.loc[dates[5]] = np.nan】设置最后一行书据为空
【df】查看生成的数据
【df.dropna(how=’all’)】只有所有数据为空时才会丢弃

(3)pandas 缺失数据处理

 

图4 数据过滤1


如果想以同样的方式按列丢弃,可以传入axis=1,如图5所示
【df[‘E’] = np.nan】 增加一全部为空的列
【df】查看生成的数据
【df.dropna(how=’all’,axis=1)】列数据都为空时丢弃
(3)pandas 缺失数据处理

图5 数据过滤2

步骤4、pandas缺失值填充

对缺失值进行填充,如图6所示。
【df】查看数据
【df.filna(0)】对缺失部分用0填充
【df.fillna({‘A’:10,’B’:20,’C’:30,’D’:40,’E’:50})】传入一个字典,对不同的列填充
【pd.isnull(df)】布尔填充,是否为空

(3)pandas 缺失数据处理

 

图6 缺失值填充
(3)pandas 缺失数据处理

相关文章: