在熊猫中分组附近的数据

时间:2016-08-29 20:31:56

标签: pandas

假设我有以下数据框:

df = pd.DataFrame({'a':[1,1.1,1.03,3,3.1], 'b':[10,11,12,13,14]})

df
      a   b
0  1.00  10
1  1.10  11
2  1.03  12
3  3.00  13
4  3.10  14

我想分组附近的点,例如。

df.groupby(#SOMETHING).mean():

          a     b
a                
0  1.043333  11.0
1  3.050000  13.5

现在,我可以使用

#SOMETHING = pd.cut(df.a, np.arange(0, 5, 2), labels=False)

但前提是我知道边界。如果我不知道在哪里放置切口,我怎么能完成类似的行为?即。我想对附近的点进行分组(附近被定义为在某个epsilon中)。

我知道这不是微不足道的,因为点x可能在点y附近,而点y可能在点z附近,但点x可能太远了z;那么它的暧昧做什么 - 这是一种k-means问题,但我想知道大熊猫是否有内置任何工具来使这很容易。

使用案例:我有几个定期生成数据的进程,但它们并未完全同步,因此时间戳接近但不相同,我想聚合它们的数据。

1 个答案:

答案 0 :(得分:1)

基于this answer

df.groupby( (df.a.diff() > 1).cumsum() ).mean()