关于数据处理的几个踩过坑的案例
因为这段时间好忙,好久没有更新,我怕失去你们,所以就写了几个我在数据处理中碰到的坑,就是分享给你们看下是不是你们也有这种情况,但是我写到一般,脑子短路了,写不出来了,只能写了三种情况,后续想起来,我就来补。
1
空值的区别
这个问题,是针对大部分刚开始做数据分析的新手来说的,就是一定要注意,无论你的数据是为建模还是做数据分析。我说下这个情况是什么出现的,就是你现在有两张表,然后你要用主表连另外一张表,另外一张表呢,假设只有一个变量以及一个主键,那么这个变量可以是字符也可以是数值,然后这个变量本来就有了非空,那么这时候假设你的主表有部分主键是不在这张表,那就意味着主表中的部分主键会在这张表中匹配不到,那么这时候你的主表是leftjoin的情况下的话,你去练这张表,这时候你的变量空值其实是包含两种情况:1、在变量中为空,2、这张表没有主表的主键。实际上是这两种情况,但是如果你这时候不做任何处理,那就数据分析,就会把这两部分的缺失,变成同一类的客户,但是你在业务上解释是不一样的。
2
处理客户多条数据的情况
第一个例子:我们在日常进件中,其实往往一个客户在公司都是有多条记录,你要取那一条这个问题这个之前讲过,这是我实际中遇到的一个例子,我想统计一个客户他从注册到申请这段时间登录次数,这时候其实有个问题,有些客户是注册了很长时间,并且也有完成好几笔单子,但是有些客户他是刚注册,然后申请,这时候你不论情况,就直接算客户的登录次数,这就就会有误差,那么现在从业务出发,你需要规定的是,如果客户只有一笔单,那么就只接算他的登录次数,那么如果客户是以前是完成好几笔单,你就应该取上一笔单结束之后,到下一笔单申请之间申请的次数,这样子才能把全部的客户拉到同一个标准去衡量登录次数这个变量的特征。
第二个例子:假设你现在是想做一个客户近6个月的通话次数稳定性,那么这时候你拿到数据,直接怼代码,你会发现其实有些客户根本就没有6个月的通话记录,有些客户不止6个月的通话记录,那么这时你应该处理这种没有6个月通话记录,这里假设客户手机在网时长不足6个月,那么这时候你可以先把这部分没有6个月的客户先置空,或者打一个特殊的标签,你知道他们就是不足6个月的,另外那些多于6个月的可以取在申请时间往后的6个月,那么这时候你算出来的稳定性指标才是把客户基本拉到一个水平面比较的。这个稳定性并不一定是psi,也可以是标准差,方差,这个衍生变量有说,这里就不说了。