



准备好原始数据集后,进行数据清洗。我们先对维基百科数据集进行初步清洗,再清洗TheyWorkForYou数据集。然后,我们尝试合并两个数据集,查看数据的不一致性,以了解需要进行哪些标准化处理。
查看维基百科数据集的前五行和最后五行,如图2-5所示。
图2-5:维基百科数据的前五行和最后五行
数据清洗的第一个任务是对列名进行标准化:
我们还发现,DataFrame的开始和结束处各有一个空行,并且每个元素末尾都有\n字符。这显然会干扰匹配,因此需要将其移除。
要移除空行,可以使用dropna方法:
使用以下代码移除数据末尾的\n字符:
为了确保Fullname已清洗干净,再次检查其中是否还包含\n字符。
检查显示,有的值开头还有\n,需要移除:
下一个任务是将Fullname列分为Firstname列和Lastname列,以便分别进行匹配。在本例中,我们使用一种简单的方法,即选择第一个子字符串作为Firstname,其余通过空格分隔的子字符串作为Lastname。
可以通过检查Lastname是否包含空格判断该方法的效果。图2-6显示了仍包含空格的剩余Lastname条目。
现在,我们就有了一个足够干净的数据集,可以用于匹配。我们接着处理第二个数据集。
正如之前看到的,TheyWorkForYou数据已经相当整洁,所以此阶段只需将列名标准化,使两个DataFrame的列名一致。一致的列名能使匹配更加轻松:
图2-6:检查维基百科数据中的复合姓氏条目