zoukankan      html  css  js  c++  java
  • pandas:根据行间差值进行数据合并

    1. 问题描述

     在处理用户上网数据时,用户的上网行为数据之间存在时间间隔,按照实际情况,若时间间隔小于阈值(next_access_time_app),则可把这几条上网行为合并为一条行为数据;若时间间隔大于阈值(next_access_time_app),则可把这几条上网行为分别认为是独立无关的行为数据。 具体可结合下图理解:

    因此需求是有二:一是根据阈值(next_access_time_app)决定是否需要对数据进行合并;二是对数据合并时字段值的处理。其中第二点较为简单,不做表述,重点关注第一点。

    深入思考,其实这个问题的关键是对数据索引进行切片,并保证切出来的索引能被正确区分。

    因此,此问题可以抽象为:如何从一个列表中找出连续的数字组合?

     

    2. 解决办法

    t1 = []
    t2 = []
    for idx in continuous_action_index:
        t1.append(idx)
        if idx + 1 not in continuous_action_index:
            t1.append(idx + 1)
            t2.append([t1[0], t1[-1]])
            t1 = []

    3. 总结

    在遇到问题时,能否快速定位到问题的本质,进而采取相应的办法去解决,本身就是对解决问题能力的一种衡量。

    之前刷过一些Leetcode试题,之所以会觉得和实际业务无法有效结合,其实是因为自己遇到的问题太少而产生的幼稚想法。

    总之,以后在工作中需要多多进行知识的串联,这样才能把能力做到最大化提升。

  • 相关阅读:
    c盘瘦身、windows解除上网限速、贴膜注意事项
    windows7导入k8s用户证书
    ubuntu报错解决和注意事项
    ubuntu默认root密码问题,第一次使用ubuntu需要设置root密码
    java程序员修炼之道
    选择器代码
    css的使用技巧资料
    移动开发的相关资料
    使用phantomjs生成网站快照
    PHP Simple HTML DOM Parser Manual-php解析DOM
  • 原文地址:https://www.cnblogs.com/wkang/p/10115847.html
Copyright © 2011-2022 走看看