【问题标题】:group DataFrame in 10-minute intervals每隔 10 分钟对 DataFrame 进行分组
【发布时间】:2019-10-03 20:46:40
【问题描述】:

我发现了这个:Group DataFrame in 5-minute intervals。它很好用,但我的问题是我有第二个值 Altitude,这很重要,所以重新采样代码不起作用。

我想为不同的海拔创建一个 10 分钟的平均值。数据集如下所示:

有没有办法通过 groupby 创建这个?通过重新采样,我得到了这个:

问题是我也在海拔高度上做了一个平均值。

【问题讨论】:

    标签: pandas pandas-groupby mean


    【解决方案1】:

    您可以使用Series.dt.floor 自己组成群组,除了 Altitude 之外,您还可以在该群组上进行群组:

    样本数据

    import pandas as pd
    import numpy as np
    df = pd.DataFrame({'Timestamp': pd.date_range('2019-04-04', freq='1.345min', 
                                                  periods=20),
                       'Altitude': [1, 2]*10,
                       'val1': np.random.randint(1, 10, 20)})
    

    df.groupby([df.Timestamp.dt.floor('10min'), 'Altitude']).mean()
    
                                      val1
    Timestamp           Altitude          
    2019-04-04 00:00:00 1         5.000000
                        2         3.250000
    2019-04-04 00:10:00 1         5.000000
                        2         4.333333
    2019-04-04 00:20:00 1         6.500000
                        2         5.000000
    

    【讨论】:

      猜你喜欢
      • 2019-04-10
      • 2016-08-09
      • 2011-02-17
      • 1970-01-01
      • 2015-01-03
      • 1970-01-01
      • 2018-05-12
      • 1970-01-01
      相关资源
      最近更新 更多