尝尝pandas(3)
2018-08-24 本文已影响2人
雨路浅歌
大家好,今天给大家带来的内容是行列的增删和对缺失值的处理。
行列的增删
为了演示方便,而且考虑到后面要对缺失值进行处理,我创建一个含有缺失值的表格。
![](https://img.haomeiwen.com/i12048719/6a7b65a64b86ca7f.jpg)
我们使用reindex方法来对行列进行处理,它可以对行列进行修改、增加和删除,返回的是一个DataFrame格式的副本。
将行索引重新修改为['a','b','c','d','e','g'],注意这里不是简单地将'f'换成'g',而是把'f'一整行换成索引名称为"g"的全缺失值行。需要注意的是df并没有发生改变。
![](https://img.haomeiwen.com/i12048719/38e1bfb9d8f0511a.jpg)
另外一种方法是先把索引的名称写出来,然后再指定要替换的是行还是列,行为"index"/0,列为"columns"/1。
![](https://img.haomeiwen.com/i12048719/cc4aaba2a15c1c4c.jpg)
虽然reindex方法看起来好像是为行索引而设置的方法,但是它也使用与列索引。
![](https://img.haomeiwen.com/i12048719/a5cec91c3101d155.jpg)
删除相关行和列,或者更准确地说是保留相关行和列。
![](https://img.haomeiwen.com/i12048719/438cee12f0306e3d.jpg)
增加一列
![](https://img.haomeiwen.com/i12048719/cb4394193c5b332d.jpg)
上面我们看到了,缺失值都是使用NaN来代替,其实我们也可以指定fill_value的值来换成我们喜欢的值。
![](https://img.haomeiwen.com/i12048719/4ac20b8b59486919.jpg)
缺失值处理
把所有缺失值换成6
![](https://img.haomeiwen.com/i12048719/a9652504a82551d3.jpg)
把列索引名称为4的那一列的缺失值换成'python',如果该列没有缺失值,则无变化。
![](https://img.haomeiwen.com/i12048719/c7a47c7e0c9e81eb.jpg)
把缺失值替换成缺失值后面的值,因为axis的默认值0,即沿着行替换,所以这里的"后面"默认为是"下面"。
![](https://img.haomeiwen.com/i12048719/a29c3760703ea2ca.jpg)
与bfill相反,把缺失值替换成缺失值前面的值,这里的"前面"默认为"上面"。
![](https://img.haomeiwen.com/i12048719/a1bbc0c1a43dd398.jpg)
除此之外,我们还可以指定替换的个数,注意这里的个数并不是指替换全部缺失值中的一个,而是指相连接的多个缺失值的一个。
![](https://img.haomeiwen.com/i12048719/5997914eb976558c.jpg)
我们还可以改变axis的值,使其可以沿着列替换缺失值,即"上面"对应"左边","下面"对应"右边"。
![](https://img.haomeiwen.com/i12048719/250accbfe57f85c8.jpg)
查看位置是否为缺失值,返回一个布尔表格。
![](https://img.haomeiwen.com/i12048719/a4490e4f42a7fa31.jpg)
今天的内容就是这些,咱下期再见,好心情!!!
![](https://img.haomeiwen.com/i12048719/6286c85ab9a58bfb.jpg)