将开始和结束时间作为过滤器应用于数据帧

清迈

我正在研究一个时间序列数据框,它看起来像这样,并且有 2020 年 1 月至 8 月的数据。

    Timestamp            Value
    2020-01-01 00:00:00 -68.95370
    2020-01-01 00:05:00 -67.90175
    2020-01-01 00:10:00 -67.45966
    2020-01-01 00:15:00 -67.07624
    2020-01-01 00:20:00 -67.30549
    .....
    2020-07-01 00:00:00 -65.34212

我正在尝试使用下面数据帧中的 start_time 和 end_time 列对前一个数据帧应用过滤器:

  start_time            end_time
 2020-01-12 16:15:00 2020-01-13 16:00:00
 2020-01-26 16:00:00 2020-01-26 16:10:00
 2020-04-12 16:00:00 2020-04-13 16:00:00
 2020-04-20 16:00:00 2020-04-21 16:00:00
 2020-05-02 16:00:00 2020-05-03 16:00:00

输出应将不在开始和结束时间范围内的所有值分配为零,并保留过滤器中指定的开始和结束时间的值。我尝试对开始时间和结束时间应用两个同步过滤器,但没有奏效。

任何帮助,将不胜感激。

知识产权

使用合并方法和查询的外连接的解决方案

print(df1)
            timestamp     Value <- changed Timestamp to timestamp to avoid name conflict in query
0 2020-01-13 00:00:00 -68.95370 <- also changed data for match
1 2020-01-01 00:05:00 -67.90175
2 2020-01-01 00:10:00 -67.45966
3 2020-01-01 00:15:00 -67.07624
4 2020-01-01 00:20:00 -67.30549
5 2020-07-01 00:00:00 -65.34212

df1.loc[df1.index.difference(df1.assign(key=0).merge(df2.assign(key=0), how = 'outer')\
           .query("timestamp >= start_time and timestamp < end_time").index),"Value"] = 0

结果:

            timestamp    Value
0 2020-01-13 00:00:00 -68.9537
1 2020-01-01 00:05:00   0.0000
2 2020-01-01 00:10:00   0.0000
3 2020-01-01 00:15:00   0.0000
4 2020-01-01 00:20:00   0.0000
5 2020-07-01 00:00:00   0.0000

将密钥assign(key=0)添加到两个数据帧以生成笛卡尔积。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将dplyr过滤器应用于数据帧列表?

SQL 结束时间作为开始时间

将过滤器应用于列表并显示数据

Ionic将多个过滤器应用于列表

将多个过滤器应用于表 reactjs

将片段过滤器应用于多个源

将特定通道应用于ffmpeg过滤器

基于用户输入将多个过滤器应用于数据框的pythonic方法

使用过滤器将数据框应用于不同变量

如何将Delphi ADOTable过滤器应用于日期数据类型

将中值过滤器应用于2轴的数据

重新采样熊猫数据帧并返回开始时间和结束时间

确定数据帧中每个id的值的开始和结束时间

如果在松树脚本中将开始时间和结束时间作为输入,如何计算回测的天数?

将熊猫过滤器应用于数据框可得到充满NaN的数据框

将过滤器应用于数据源以将特定数据发送到表

按开始和结束时间用日期过滤ArrayList

是否可以使用清单来启用和禁用应用于 Google 数据洞察中的表的过滤器?

将多行数据合二为一(开始时间和结束时间)

如何将搜索意图过滤器和android.app.searchable应用于所有活动?

如何获得另一个变量的开始时间作为该变量的结束时间?

如何在python中将第一行的结束时间作为第二行的开始时间

Angular JS - 将 Javascript 过滤逻辑应用于 Angular 过滤器

WordPress的| 将功能/过滤器应用于特定模板(功能为图像的功能过滤器)

将轮班数据(开始和结束时间)分解为每小时数据

如何在熊猫中按开始时间和结束时间组合两个数据帧?

Angular 双向数据绑定开始和结束时间戳

Oracle中流数据的开始和结束时间

按开始和结束时间匹配数据