9、pandas的填充缺失值fillna()和inplace函数
2017-12-12 本文已影响0人
让数据告诉你
在数据集里面的缺失值需要填充起来,避免各种出错。
![](https://img.haomeiwen.com/i8612260/89b25058f2df72b4.png)
![](https://img.haomeiwen.com/i8612260/4718cae96a5a1aca.png)
![](https://img.haomeiwen.com/i8612260/403ebdf231868d5f.png)
fillna可以指定数值进行填充,也可以使用计算公式进行填充,比如df.mean()、df.sum()等。
还可以指定用那一列的数据进行填充:
![](https://img.haomeiwen.com/i8612260/a161663cb1aad5d7.png)
在做分析的时候,我们经常要将缺失值填充为前一个值,或者是后一个值,而不是单纯的填充0或者均值。
![](https://img.haomeiwen.com/i8612260/87c68bbda9e7c314.png)
其中‘bfill’就是将缺失值按照后面一个值进行填充,'ffill' 就是将缺失值按照前面一个值进行填充。
这里的前、后一个数值默认是纵向看的,如果需要使用左或者右边的数值进行填充,只需要加参数axis=1,就可以了。
![](https://img.haomeiwen.com/i8612260/2f8da106f147254c.png)
用limit限制每列可以替代NaN的数目,下面我们限制每列只能替代一个NaN。
![](https://img.haomeiwen.com/i8612260/8f101924bc1d44ca.png)
由于本文档每列只有一个缺失值,所以看起来不明显。
查询是否有缺失值isnull函数:
![](https://img.haomeiwen.com/i8612260/855a749c6ebb6a1e.png)
还可以用describe()函数计算确实的值:
![](https://img.haomeiwen.com/i8612260/3a4ea2a7cd79d46b.png)
以上的操作都是没有改变源数据的,如果要改变源数据的话需要添加参数inplace = True才可以改变源数据(也可以用赋值的方式)。
![](https://img.haomeiwen.com/i8612260/e749cf729428d65d.png)
![](https://img.haomeiwen.com/i8612260/3b051aaa7a1f9148.png)