问题描述
在工作中,会经常遇到两列数据做对比,找出相同或不同的数据。
例如:下面的表格中,A列是所有的自然保护地,B列是有遥感图的自然保护地,我的任务是需要找出哪些自然保护地是没有遥感图的。简单说,就是找出A列有,B列没有的单元格。
这其实就是一个对比的问题,如果通过手动来看,数据量多的情况下,可能眼睛都得看瞎,虽然可以通过函数来实现,但是“可以但没必要”。
顺序相同
在解决上述问题之前,我们先看看两列数据顺序相同,怎么进行对比。
这种情况做比对是很简单的,选中需要比对的数据,使用快捷键:ctrl+\即可完成对比,并定位到数据不同的单元格。
顺序不同
我们回到文章开头的案例,我们可以巧用Excel的条件格式来实现,具体步骤如下:
① 选中比对数据,依次选择条件格式 > 突出显示单元格规则 > 重复值。
② 设置重复单元格的格式。
这样,找到了两列的重复值,不重复的就是我们需要收集的内容啦。
Python实现
用Python实现的步骤如下:
① 读取数据
import pandas as pd
data = pd.read_excel('test2.xlsx')
② 获取两列数据,转换为集合进行相减运算,就可以得到不同的数据啦~
result = list(set(data['自然保护地']) - set(data['有遥感图的自然保护地']))
result