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试题,之所以会觉得和实际业务无法有效结合,其实是因为自己遇到的问题太少而产生的幼稚想法。

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

  • 相关阅读:
    python+opencv 运行环境搭建
    centos 安装 FLEXPART
    centos 安装npm node
    USACO4.3 Street Race【分析】
    USACO4.3 Letter Game【枚举·细节】
    结构体封装高精度 大整数BigInt
    POJ3585 Accumulation Degree【换根dp】
    换根dp特征总结
    HDU2196 Computer【换根dp】
    CF1187E Tree Painting【换根dp】
  • 原文地址:https://www.cnblogs.com/wkang/p/10115847.html
Copyright © 2011-2022 走看看