拆分一系列关于熊猫的时间差距?

时间:2012-12-20 16:29:57

标签: python pandas

是否可以在其间隙上分割时间序列。例如,假设我们有以下内容:

rng2011 = pd.date_range('1/1/2011', periods=72, freq='H')
rng2012 = pd.date_range('1/1/2012', periods=72, freq='H')
Y = rng2011.union(rng2012)

是否可以查找一年或更长时间的差距,并在其上拆分数据框?

我想这会是这样的:

Y.groupby(Y.map(lambda x: x.year))

除了在年份日期拆分,我有兴趣指定间隔间隙而不是行的年份属性。

应用程序是我从gps获取行程日志,但没有描述一次行程何时结束而另一次行程开始。我想分成十分钟或更长的间隙。

1 个答案:

答案 0 :(得分:11)

假设Y是数据框中的列,一种方法是使用diffcumsum

df = DataFrame(Y)
df[1] = df[0].diff() > 600000000000.0 #nanoseconds in ten minutes
df[1] = df[1].apply(lambda x: 1 if x else 0).cumsum()
df.groupby(1)

注意:如果你在72小时内使用纳秒数,它将分为两组。