![ffe289f833ddf0efd30ab00ece08477d.png](https://i-blog.csdnimg.cn/blog_migrate/a775af7e925fbbca085c10811ed4615b.jpeg)
作者 | CDA数据分析师
我们把菜品挑选出来以后,就可以开始切菜了。比如要做凉拌黄瓜丝,把黄瓜找出来以后,那就可以把黄瓜切成丝了。
一、数值替换
数值替换就是将数值A替换成B,可以用在异常值替换处理、缺失值填充处理中。主要有一对一替换、多对一替换、多对多替换三种替换方法。
1、一对一替换
一对一替换是将某一块区域中的一个值全部替换成另一个值。已知现在有一个年龄值是240,很明显这是一个异常值,我们要把它替换成一个正常范围内的年龄值(用正常年龄的均值33),怎么实现呢?
(1)Excel实现
在Excel中对某个值进行替换,首先要把待替换的区域选中,如果只是替换某一列中的值,只需要选中这一列即可;如果要在这一片区域中进行替换,那么拖动鼠标选中这一片区域。然后依次单击编辑菜单栏中的查找和选择>;替换选项(如下图所示)即可调出替换界面。使用快捷键Ctrl+H也可以调出替换界面。
![1e64c6f9feaa66ef694b9c7d8fd944f7.png](https://i-blog.csdnimg.cn/blog_migrate/4d0cf03d05852c6eff5def5e040d8589.jpeg)
下图为替换界面,分别输入查找内容和替换内容,然后根据需要单击全部替换或者替换全部即可。
![81602e0d5e551839093fad3fee4c7fd7.png](https://i-blog.csdnimg.cn/blog_migrate/9f8eb29b19f6d1fc2bd247afb6eaa257.jpeg)
(2)Python实现
在python中对某个值进行替换利用的是replace()方法,replace(A,B)表示将A替换成B。
![03c6b174e07c83cf049b07858729ac23.png](https://i-blog.csdnimg.cn/blog_migrate/1c419d7878db8832f43dafe4eab7c794.jpeg)
上面的代码是对年龄这一列进行替换,所以把年龄这一列选中,然后调用replace()方法。有时候要对整个表进行替换,比如对全表中的缺失值进行替换,这个时候replace()方法就相当于fillna()方法了。
![32b746289e1560dd17fce69e317e5ffe.png](https://i-blog.csdnimg.cn/blog_migrate/72954f54ce0e1c81cd7ca4ee1001c08c.jpeg)
![543d42cd56652ac06b9fd8b2ec1055e2.png](https://i-blog.csdnimg.cn/blog_migrate/7c0f0e9be6197e29571b8005fa58f06c.jpeg)
Np.NaN是python中对缺失值的一种表示方法。
2、多对一替换
多对一替换就是把一块区域中的多个值替换成某一个值,已知现在有三个异常年龄(240、260、280)需要把这三个年龄都替换成正常范围年龄的平均值33,该怎么实现呢?
(1)Excel实现
在Excel中需要借助if函数来实现多对一替换。一直年龄这一列是D列,要想对这个异常值进行替换,可以通过如下函数实现。
![e88f44563688cd68df912ff6bedbf2d6.png](https://i-blog.csdnimg.cn/blog_migrate/140f05f5d6c21fa56618dce4e0ca0679.jpeg)
上面的公式借助了Excel中的OR()函数,表示如果D列等于240、260、或者280时,该单元格的值为33,否则为D列的值。替换后的结果如下图所示。
![99f8a011a0c6370e4592b19075b129f0.png](https://i-blog.csdnimg.cn/blog_migrate/463fd1ba2d3b122f2a2980d3ef68b140.jpeg)
(2)Python实现
在 Python 中实现多对一的替换比较简单,同样也是利用replace()方法,replace([A,B],C)表示将A、B替换成C。
![35893e51275d6fc249fea93a136a7566.png](https://i-blog.csdnimg.cn/blog_migrate/b299e6d6537dc9eec3d4206d3ba57300.jpeg)
3、多对多替换
多对多替换其实就是某个区域中多个一对一的替换。比如将年龄异常值240替换成平均值减一,260替换成平均值,280替换成平均值加一,该怎么实现呢?
(1)Excel实现
若想在Excel中实现,需要借助函数,且需要多个if嵌套语句来实现,同时已知年龄列为D列,具体函数如下:
![08eaba7d27b94e347136d124e375047c.png](https://i-blog.csdnimg.cn/blog_migrate/69cde37ed8466817e7f8f7ae9862b15a.jpeg)
下图为该函数执行的流程。
![b2d54ba6bc755d298ae392e603acd21d.png](https://i-blog.csdnimg.cn/blog_migrate/49519a9c66dd6002c552f119e9a4f2fc.jpeg)
替换后的结果如下图所示:
![c2cc504db9cc6f0f61fd5f13bf57a9eb.png](https://i-blog.csdnimg.cn/blog_migrate/d8d2fb5cf9c3c49d97adbba72147dc40.jpeg)
(2)Python实现
在Python中若想实现多对多的替换,同样是借助replace()方法,将替换值与待替换值用字典的形式表示,replace(“A”:“a”,“B”:“b”)表示用a替换A,用b 替换B。
![0ec9f6367fcf55d76223a82834bacc4e.png](https://i-blog.csdnimg.cn/blog_migrate/8af25e3478b4830389506d07a4b75923.jpeg)
二、数值排序
数值排序是按照具体数值的大小进行排序的,有升序和降序两种,升序就是数值由小到大排列,降序是数值由大到小排列。
1、按照一列数值进行排序
按照一列数值进行排序就是整个数据表都以某一列为准,进行升序或者降序排列。
(1)Excel实现
在Excel中想要按照某列进行数值排序,只要选中这一列的字段名,然后单击编辑菜单栏下的排序和筛选按钮;在下拉菜单中选择升序或者降序选项即可,操作流程如下图所示。
![93277a6582e67076f54bd61194a8a5c1.png](https://i-blog.csdnimg.cn/blog_migrate/21233759bb4f64ffb9a2abe6fd044f8d.jpeg)
按照销售ID进行升序排列前后的结果如下图所示:
![00c9cf0ac6c516cd6d849b656c909c24.png](https://i-blog.csdnimg.cn/blog_migrate/c6d68182cbbbce43030913f6dd51cb6b.jpeg)
(2)Python实现
在Python中我们若想按照某列进行排序,需要用到sort_values()方法,在sort_values后的括号中指明要排序的列名,以及升序还是降序排序。