簡體   English   中英

如何在python中以5分鍾的間隔存儲時間戳

[英]How to bucket a time stamp in 5 minute intervals in python

我使用python以5分鍾的間隔在redis中遞增計數器,執行代碼的速度非常重要。 我將有一個看起來像這樣的排序集:

1:30 incr 1:35 incr ...

其中incr是該5分鍾間隔之間的命中數。

讓我們說我是在下午1:32,我希望將所有的點擊放在1:30和1:35之間。

天真的我可以循環瀏覽一個列表並檢查30到35之間的分鍾是否在1:30桶中。 是否有更多的pythonic方法來做到這一點?

from redis import Redis

r = Redis(db=1)
r.flushdb()
def store(t):
    h, m = map(int, t.split(':'))
    m = m - m % 5
    r.zincrby('tc', '%d:%02d' % (h, m), 1)

store('1:02')
store('1:30')
store('1:32')
store('1:35')

print r.zrange('tc', 0, -1, withscores=True)

輸出:

[('1:00', 1.0), ('1:35', 1.0), ('1:30', 2.0)]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM