如何在接下来的n分钟内检查条件是否为真

时间:2017-11-06 08:54:22

标签: python pandas time-series resampling

我有一个时间间隔列表,其中包含一列条件

间隔:

Time                 Count  Bool Hit 
2013-01-02 11:03:00   50    0    NaN
2013-01-02 11:10:00   63    0    NaN
2013-01-02 11:11:00   128   1    NaN
2013-01-02 11:12:00   283   0    NaN
2013-01-02 11:13:00   110   0    NaN
2013-01-02 12:14:00   89    0    NaN
2013-01-02 12:20:00   23    0    NaN

我希望在True列中输出Hit,如果bool==1在接下来的5分钟内导致以下输出。

Time                 Count  Bool Hit 
2013-01-02 11:03:00   50    0    NaN
2013-01-02 11:10:00   63    0    1
2013-01-02 11:11:00   128   1    NaN
2013-01-02 11:12:00   283   0    NaN
2013-01-02 11:13:00   110   0    NaN
2013-01-02 12:14:00   89    0    NaN
2013-01-02 12:20:00   23    0    NaN

我已经尝试了几种使用pd.resample和pd.DateOffSet的方法,但我无法找到快速解决方案。

我编写的示例代码如下

df = pd.read_csv("data/csv/2013.csv") 
df['DateTime'] = pd.to_datetime(cc['DateTime'],format="%d/%m/%Y%H:%M") 
def hitrate(DateTime):
    df.loc[df['bool'] ==1, 'Hit'] = 1 
df_test=df.resample(rule='10min',on='DateTime').apply(hitrate)

有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您是否可以更加具体地了解您要创建的规则?

您在1列中输入Hit,即使该记录后5分钟内的条目在0中有Bool秒。你的意思是最后5分钟