程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

時分時間點劃入不同區間分類(時間段),統計每個時間段出現次數,Python

編輯:Python

時分時間點劃入不同區間分類(時間段),統計每個時間段出現次數,Python

時分時間劃分到不同時間區間段,Python_zhangphil的博客-CSDN博客用Python實現一個功能,把一個時間劃入到不同的時間范圍內,比如2305,把這個時間劃入到(23,24)區間內。又比如056,劃入(0,1)范圍內。https://blog.csdn.net/zhangphil/article/details/125909666

把不同的時分時間劃入到不同時間段,統計每個時間段出現時間點的次數,比如21:12劃入到(21,22)這個時間段,同時給(21,22)這個時間段計數為1,如果再出現一個時間點21:02,那麼21:02仍劃入到(21,22)時間段,並為(21,22)增加1次計數,變為2。

import datetime
import random
# 生成隨機測試時間數量
from pprint import pprint
SAMPLE_COUNT = 10
SECTION = 'section'
SUM = 'sum'
def my_time():
times = []
for i in range(24):
times.append({SECTION: (i, i + 1), SUM: 0})
cnt = 0
while True:
h = random.randint(0, 23)
m = random.randint(0, 59)
t = datetime.time(hour=h, minute=m)
for tx in times:
if tx[SECTION][0] <= t.hour < tx[SECTION][1]:
tx[SUM] = tx[SUM] + 1
pprint(f'{t.strftime("%H:%M")} @ {tx[SECTION]}')
break
cnt = cnt + 1
if cnt > SAMPLE_COUNT:
break
return times
if __name__ == '__main__':
timex = my_time()
pprint(timex)

輸出:

'00:34 @ (0, 1)'
'21:58 @ (21, 22)'
'13:47 @ (13, 14)'
'08:01 @ (8, 9)'
'16:45 @ (16, 17)'
'08:19 @ (8, 9)'
'21:02 @ (21, 22)'
'22:06 @ (22, 23)'
'18:20 @ (18, 19)'
'08:36 @ (8, 9)'
'01:45 @ (1, 2)'
[{'section': (0, 1), 'sum': 1},
{'section': (1, 2), 'sum': 1},
{'section': (2, 3), 'sum': 0},
{'section': (3, 4), 'sum': 0},
{'section': (4, 5), 'sum': 0},
{'section': (5, 6), 'sum': 0},
{'section': (6, 7), 'sum': 0},
{'section': (7, 8), 'sum': 0},
{'section': (8, 9), 'sum': 3},
{'section': (9, 10), 'sum': 0},
{'section': (10, 11), 'sum': 0},
{'section': (11, 12), 'sum': 0},
{'section': (12, 13), 'sum': 0},
{'section': (13, 14), 'sum': 1},
{'section': (14, 15), 'sum': 0},
{'section': (15, 16), 'sum': 0},
{'section': (16, 17), 'sum': 1},
{'section': (17, 18), 'sum': 0},
{'section': (18, 19), 'sum': 1},
{'section': (19, 20), 'sum': 0},
{'section': (20, 21), 'sum': 0},
{'section': (21, 22), 'sum': 2},
{'section': (22, 23), 'sum': 1},
{'section': (23, 24), 'sum': 0}]


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved