具有不规则时间序列的groupby之后的熊猫数据帧过滤

时间:2019-04-29 13:10:06

标签: python pandas dataframe pandas-groupby

我有一个带有按时间戳索引的时间序列的DataFrame,如下所示:

timestamp              A       B    
2018-11-12 14:03:53  9.45     501.0
2018-11-12 14:03:58  73.8     108.0
2018-11-12 14:04:09  4.25     215.0
2018-11-12 14:04:19  62.39    551.0
2018-11-12 14:04:29  15.98    113.0

我想基于此数据的bin进行一些汇总,例如:

df.groupby(pd.Grouper(freq='30Min')).apply(custom_agg)

但是,问题在于此石斑鱼或serialize都创建了连续范围的垃圾箱,但是我的数据每天都限制在某些小时内(例如,在14.00之后)。这使我有大量没有数据的组:

2018-11-13 00:00:00    NaN    NaN        0.0
2018-11-13 00:30:00    NaN    NaN        0.0
2018-11-13 01:00:00    NaN    NaN        0.0
2018-11-13 01:30:00    NaN    NaN        0.0
2018-11-13 02:00:00    NaN    NaN        0.0
2018-11-13 02:30:00    NaN    NaN        0.0
2018-11-13 03:00:00    NaN    NaN        0.0

我想过滤掉它们。使用df.filter()并没有多大用处,因为问题不在于原始行,而在于组。

我尝试使用applydf.groupby(pd.Grouper(freq='30Min')).apply(lambda x: x[x.index.min().hour >= 14]),但得到KeyError: True。 (旁边的问题,为什么这不起作用?)

在应用了groupby后进行分组的给定条件下,对给定条件集过滤数据框的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

尝试使用<application android:name=".MainApplication" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:allowBackup="false" android:theme="@style/AppTheme"> ... </application>

.dt.floor