处理前的准备
检查索引与列名
在处理内容之前,需要先看看索引或列名是否有意义,若索引和列名都是乱七八糟的,应该对他们进行重命名或者重新排序,以便我们理解数据。
清洗数据
清洗数据原则
针对数据内容,一般先解决结构性问题,再处理内容性问题。整洁数据的特点是:
1.每列是一个变量(如身高
列不应混合cm
和m
单位)
2.每行是一个观察值(如学生考试成绩不应跨行存储)
3.每个单元格是一个值(如姓名
列不应包含张三;李四
)
任何不符合以上三个特点的数据都是乱数据。
针对乱数据的清洗
1.如果每列是观察值,每行是变量,我们就要对行和列进行转置(也就是让行和列对调);
2.如果不符合每列是一个变量,而是包含了多个,我们就要对列进行拆分,把多的列分到其他列去,有的时候光拆分还不够,还需要进行重塑,确保每列只包含一种变量;
3.如果不符合每行是一个观察值,而是多个观察值,我们就要对行进行拆分,让每个观察值为独立的一行,还有时候光拆分还不够,还需要进行重塑,确保每行只包含一个观察值。
很多时候清理前的数据是宽数据,清理后的数据是长数据,清理的目的是为了后续能更高效地用程序处理数据,而不是更方便地让人类理解,所以若你觉得有些清理前的数据反而更直观易懂也是正常的。