我有一个时间间隔列表,其中包含一列条件
间隔:
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)
有什么方法可以解决这个问题吗?
答案 0 :(得分:0)
您是否可以更加具体地了解您要创建的规则?
您在1
列中输入Hit
,即使该记录后5分钟内的条目在0
中有Bool
秒。你的意思是最后5分钟?