我有一个数据帧,看起来像这样的连续天总人数和失踪天数(通常它有很多用户):计算在时间序列数据
userid | activityday
222 2015-01-09 12:00
222 2015-01-10 12:00
222 2015-01-11 12:00
222 2015-01-13 12:00
222 2015-01-14 12:00
222 2015-01-15 12:00
222 2015-01-17 12:00
222 2015-01-18 12:00
222 2015-01-19 12:00
222 2015-01-20 12:00
222 2015-01-20 12:00
我想获得连续的活动的总数和无效日期,直到给定日期为止。例如,如果日期是2015年1月23日,则:
userid | days_active_jb | days_inactive_jb | ttl_days_active | ttl_days_inactive
222 | 3 | 2 | 10 | 2
或者,如果给定的日期是2015年1月15日然后:
userid | days_active_jb | days_inactive_jb | ttl_days_active | ttl_days_inactive
222 | 2 | 0 | 5 | 1
我身边有300.000行来处理以获得这个最终的数据帧。我想知道什么才是实现这一目标的有效方法。有任何想法吗?
下面是每个列的说明:
days_active_jb
:天学生数量在连续的活动只是在给定日期之前。
days_inactive_jb
:学生在给定日期之前连续没有活动的天数。
ttl_days_active
:学生在指定日期前的任何一天有活动的天数。
ttl_days_inactive
:学生在指定日期前的任何一天没有活动的天数。
如何界定days_active_jb和days_inactive_jb?如果days_inactive_jb是另外1天的差距数,那么第二个例子对于days_inactive_jb是否有1? – Allen
@艾伦谢谢你的回答。我提供了解释。我会很快尝试你的解决方案,并会让你知道。 – renakre