我正在遍历一堆由Python中的MongoDB查询获得的字典:
for x in DB[COL].find({'datetime': {'$gte': StartTime}}):
哪个给了我这样的结果列表:
{'datetime': 2020-07-05 19:21", 'data': [...]}
{'datetime': 2020-07-05 19:25", 'data': [...]}
{'datetime': 2020-07-05 19:35", 'data': [...]}
我需要每30分钟订购一次该记录,因此我需要更改datetime
,以便输出如下:
{'datetime': 2020-07-05 19:30", 'data': [...]} //because 19:21 -> 19:30
{'datetime': 2020-07-05 19:30", 'data': [...]} //because 19:25 -> 19:30
{'datetime': 2020-07-05 20:00", 'data': [...]} //because 19:35 -> 20:00
如何使用Python做到这一点?
答案 0 :(得分:0)
这是我的方法。我会列出一份文档,并根据他们的会议记录进行更改;
for doc in docs:
date = doc['datetime']
if date.minute > 30:
doc['datetime'] = dt.datetime(date.year, date.month, date.day, date.hour + 1, 0)
else:
doc['datetime'] = dt.datetime(date.year, date.month, date.day, date.hour, 0)
从那里您可以只使用pandas dataframe .groupby方法和按日期时间分组。 这看起来很丑陋,您当然可以清除它,但是应该可以。