Cha*_*ngo 3 python datetime average standard-deviation
我正在我的 python 程序中导入日期时间库,并且正在获取多个事件的持续时间。下面是我的代码:
d1 = datetime.datetime.strptime(starttime, '%Y-%m-%d:%H:%M:%S')
d2 = datetime.datetime.strptime(endtime, '%Y-%m-%d:%H:%M:%S')
duration = d2 - d1
print str(duration)
Run Code Online (Sandbox Code Playgroud)
现在我在变量“duration”中有一个值。输出将是:
0:00:15
0:00:15
0:00:15
0:00:15
0:00:15
0:00:05
0:00:05
0:00:05
0:00:05
0:00:05
0:00:10
0:00:10
0:00:10
0:00:10
0:45:22
Run Code Online (Sandbox Code Playgroud)
我想取所有持续时间的标准偏差并确定是否存在异常。例如,00:45:22 是一个异常,我想检测它。如果我知道日期时间的格式,我可以这样做,但它似乎不是数字或任何东西。道路。
想法?
你有datetime.timedelta()对象。它们具有.microseconds、.seconds和.days属性,全部为 3 个整数。所述str()字符串表示代表那些作为[D day[s], ][H]H:MM:SS[.UUUUUU]根据需要以适应所存在的所有的值。
您可以对这些对象使用简单的算术。求和和除法按预期工作,例如:
>>> (timedelta(seconds=100) + timedelta(seconds=200)) / 2
datetime.timedelta(0, 150)
Run Code Online (Sandbox Code Playgroud)
不幸的是,您不能将两个时间增量相乘,因此计算标准偏差变得很棘手(没有平方偏移)。
相反,我会使用该.total_seconds()方法,为您提供一个根据天数、秒数和微秒值计算的浮点值,然后使用这些值来计算标准偏差。