步骤1、环境准备
右击桌面上选择【Open in Terminal】 打开终端。
在弹出的终端中输入【ipython】进入Python的解释器中,如图1所示。
![](https://showdoc.shiyanbar.com/Public/Uploads/2017-11-27/5a1b559ace7bd.png)
步骤2、导入所需要的包
导入实验常用的python包。如图2所示。
【import pandas as pd】pandas用来做数据处理。
【import numpy as np】numpy用来做高维度矩阵运算.
【import matplotlib.pyplot as plt】matplotlib用来做数据可视化。
![](https://showdoc.shiyanbar.com/Public/Uploads/2017-11-27/5a1b58310d24f.png)
步骤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】查看生成的数据
![](https://showdoc.shiyanbar.com/Public/Uploads/2017-11-29/5a1dbf895371c.png)
dropna()函数同样会丢掉所有含有空元素的数据,如图4所示。
【df.dropna()】丢失掉含有空元素的数据
【df.dropna(how=’any’)】等同于上条命令
【df.loc[dates[5]] = np.nan】设置最后一行书据为空
【df】查看生成的数据
【df.dropna(how=’all’)】只有所有数据为空时才会丢弃
![](https://showdoc.shiyanbar.com/Public/Uploads/2017-11-29/5a1dc2be30571.png)
如果想以同样的方式按列丢弃,可以传入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)】布尔填充,是否为空
![](https://showdoc.shiyanbar.com/Public/Uploads/2017-11-29/5a1dd9405bca5.png)
![](https://images2018.cnblogs.com/blog/1183518/201711/1183518-20171129140311237-908404975.jpg)