1
我有一个表,该表在PostgreSQL数据库中包含三列。这三列是时间戳,标记和值。在此表中,将从SCADA服务器生成的日志文件中自动插入数据。我需要该表中的每小时数据。 (20:00:00,21:00:00)
timestamp tag value
2019-06-06 06:00:00 x 123
2019-06-06 06:00:00 y 456
2019-06-06 06:01:00 x 123
2019-06-06 06:01:00 y 656
2019-06-06 06:02:00 x 123
2019-06-06 06:02:00 y 333
.......
.......
2019-06-06 06:59:00 x 2232
2019-06-06 06:59:00 y 654
2019-06-06 07:00:00 x 5645
2019-06-06 07:00:00 y 54654
我希望以用户定义的时间间隔在开始时间和结束时间之间输入数据。
示例开始时间戳2019-06-06 06:00:00
和结束时间戳2019-06-06 09:00:00
,然后选择的时间间隔是5分钟,
所需的输出应如下所示:
timestamp tag value
2019-06-06 06:00:00 x 123
2019-06-06 06:00:00 y 456
2019-06-06 06:05:00 x 5645
2019-06-06 06:05:00 y 54654
2019-06-06 06:10:00 x 5645
2019-06-06 06:10:00 y 54654
...
.....
......
2019-06-09 08:55:00 x 5645
2019-06-09 08:55:00 y 54654
2019-06-09 08:55:00 x 5645
2019-06-09 08:55:00 y 54654
答案 0 :(得分:0)
如果您将此数据加载到pandas DataFrame(with pandas.read_sql
)中,并将索引定义为日期时间序列(with pandas.to_datetime
),则可以使用pandas built-in resampling function(series.resample
)完全可以满足您的需求