我有一个如下所示的数据框:
,columnname
2014-01-02 09:30:00-05:00,5
2014-01-02 09:31:00-05:00,6
2014-01-02 09:32:00-05:00,5
2014-01-02 09:33:00-05:00,71
2014-01-02 09:34:00-05:00,98
2014-01-02 09:35:00-05:00,1
2014-01-02 09:36:00-05:00,91
2014-01-02 09:37:00-05:00,9
2014-01-02 09:38:00-05:00,1
2014-01-02 09:39:00-05:00,9
2014-01-02 09:40:00-05:00,1
2014-01-02 09:41:00-05:00,9
2014-01-02 09:42:00-05:00,1
2014-01-02 09:43:00-05:00,84
2014-01-02 09:44:00-05:00,1
2014-01-02 09:45:00-05:00,3
2014-01-02 09:46:00-05:00,1
2014-01-02 09:47:00-05:00,9
2014-01-02 09:48:00-05:00,2
2014-01-02 09:49:00-05:00,5
我需要找到,对于每 5 分钟的间隔,第一行的数量 > 10。 所以结果是:
,columnname
2014-01-02 09:30:00-05:00,71
2014-01-02 09:35:00-05:00,91
2014-01-02 09:40:00-05:00,84
2014-01-02 09:45:00-05:00,NaN
我怎样才能得到它?
最佳答案
您可以先过滤大于 10 的列,然后使用 resample
和第一个
df[df['columnname'].gt(10)].resample('5min').first()
编辑:
df['columnname'].where(df['columnname'].gt(10)).resample('5min').first()
<小时/>
2014-01-02 09:30:00-05:00 71.0
2014-01-02 09:35:00-05:00 91.0
2014-01-02 09:40:00-05:00 84.0
2014-01-02 09:45:00-05:00 NaN
Freq: 5T, Name: columnname, dtype: float64
关于python - 按时间间隔分组并获取满足条件的第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59934431/