pandas吧 关注:170贴子:208
  • 0回复贴,共1

利用pandas里的drop_duplicates去重时遇到了一个问题,求解答

只看楼主收藏回复

业务场景:根据源数据,计算1月份复购的人数,源数据时间为(2020.1.1~2020.12.31)
复购人数定义:“新老会员订单”这一列中,类型为“老会员订单”的即为复购订单,如果一个会员有多笔复购订单,只计第一次复购的时间。如一个会员分别在1月、4月进行复购,则只把这个会员算在1月的复购人数中,而不算在4月中。利用“会员卡编码”这列,确认是否是同一个会员。
问题:本人利用drop_duplicates进行去重时替换了这两行代码的顺序,但是结果完全不一样。
代码一思路:先筛选复购订单数,接着利用drop_duplicates去重且保留第一次出现的重复项,然后筛选订单时间为1月份,求得1月复购人数为48万

代码二思路:先筛选订单时间为1月份,然后筛选复购订单数,然后利用drop_duplicates去重且保留第一次出现的重复项,求得1月复购人数为77万

因为1月份为首个月,所以即使存在会员在后面月份重复复购,该会员也肯定会记在1月的复购人数里,对于1月的数据应该不存在任何问题。那么这两段代码为什么会有这么大的差异?


IP属地:江苏1楼2021-02-22 17:57回复