(3)pandas 缺失数据处理
步骤1、环境准备
右击桌面上选择【Open in Terminal】 打开终端。
在弹出的终端中输入【ipython】进入Python的解释器中,如图1所示。
步骤2、导入所需要的包
导入实验常用的python包。如图2所示。
【import pandas as pd】pandas用来做数据处理。
【import numpy as np】numpy用来做高维度矩阵运算.
【import matplotlib.pyplot as plt】matplotlib用来做数据可视化。
步骤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】查看生成的数据
dropna()函数同样会丢掉所有含有空元素的数据,如图4所示。
【df.dropna()】丢失掉含有空元素的数据
【df.dropna(how=’any’)】等同于上条命令
【df.loc[dates[5]] = np.nan】设置最后一行书据为空
【df】查看生成的数据
【df.dropna(how=’all’)】只有所有数据为空时才会丢弃
如果想以同样的方式按列丢弃,可以传入axis=1,如图5所示
【df[‘E’] = np.nan】 增加一全部为空的列
【df】查看生成的数据
【df.dropna(how=’all’,axis=1)】列数据都为空时丢弃
步骤4、pandas缺失值填充
对缺失值进行填充,如图6所示。
【df】查看数据
【df.filna(0)】对缺失部分用0填充
【df.fillna({‘A’:10,’B’:20,’C’:30,’D’:40,’E’:50})】传入一个字典,对不同的列填充
【pd.isnull(df)】布尔填充,是否为空