在python中创建随机时间戳列表
问题描述:
有没有办法在Python中以严格增加的格式创建随机不规则时间戳列表?例如:在python中创建随机时间戳列表
20/09/2013 13:00
20/09/2013 13:01
20/09/2013 13:05
20/09/2013 13:09
20/09/2013 13:16
20/09/2013 13:26
答
您可以构建一个随机生成器。
您可以生成使用
timedelta
0-60(分钟)之间randrange(60)
拉多姆数时间增加的实际日期,你的情况,这是
20/09/2013 13:..
建立一个发电机
random_date
,开始日期以及您想要生成的日期数量。
from random import randrange import datetime def random_date(start,l): current = start while l >= 0: curr = current + datetime.timedelta(minutes=randrange(60)) yield curr l-=1 startDate = datetime.datetime(2013, 9, 20,13,00) for x in random_date(startDate,10): print x.strftime("%d/%m/%y %H:%M")
输出:
20/09/13 13:12
20/09/13 13:02
20/09/13 13:50
20/09/13 13:13
20/09/13 13:56
20/09/13 13:40
20/09/13 13:10
20/09/13 13:35
20/09/13 13:37
20/09/13 13:45
20/09/13 13:27
UPDATE
您可以通过将差数,您已经生成的最后日期欺骗这一点,那么反转总体列表。 您也可以更改每次添加的随机数,以获得所需的结果。
您的代码看起来像。
from random import randrange
import datetime
def random_date(start,l):
current = start
while l >= 0:
current = current + datetime.timedelta(minutes=randrange(10))
yield current
l-=1
startDate = datetime.datetime(2013, 9, 20,13,00)
for x in reversed(list(random_date(startDate,10))):
print x.strftime("%d/%m/%y %H:%M")
输出:
20/09/13 13:45
20/09/13 13:36
20/09/13 13:29
20/09/13 13:25
20/09/13 13:20
20/09/13 13:19
20/09/13 13:16
20/09/13 13:16
20/09/13 13:07
20/09/13 13:03
20/09/13 13:01
不'irregular'意味着'unique'?什么是哟使用时间戳? – dm03514 2014-11-04 16:34:18
两个连续时间戳之间的时间差应该是不均匀的。也应该是独一无二的。我试图产生一个随机不规则采样时间序列。 – user93 2014-11-04 16:36:22