python中两个时间戳的平均值

Kar*_*cek 4 python datetime average pandas

我有两个时间戳(pandas.tslib.Timestamp)ts1,ts2我想计算它们的平均值.

(ts1+ts2)/2
Run Code Online (Sandbox Code Playgroud)

但是,我收到此错误:

TypeError: unsupported operand type(s) for +: 'Timestamp' and 'Timestamp'
Run Code Online (Sandbox Code Playgroud)

感谢您的任何帮助.

Hal*_*Ali 7

从另一个时间戳中减去时间戳会生成一个间隔,然后可以对该间隔进行划分.

如错误所示,不允许添加时间戳.

解决方案包括计算间隔,将间隔减半,然后将减半的间隔添加到较早的时间戳或从较晚的时间戳减去.

from pandas.tslib import Timestamp
d1 = Timestamp.now()
# wait a few seconds
d2 = Timestamp.now()
d3 = d1 + (d2 - d1) / 2
# d3 will be the timestamp exactly in between d1 & d2
Run Code Online (Sandbox Code Playgroud)


Sak*_*sow 6

类似于datetime.datetime对象的对象也不支持添加,因为添加日期没有意义.你应该datetime.timedelta用来获得平均时间.

怎么样 ?这条路:

average_delta = (ts2 - ts1) / 2
average_ts = ts1 + average_delta
Run Code Online (Sandbox Code Playgroud)


stu*_*ent 5

此方法给出了与其他方法相同的结果:

t1 = Timestamp('2017-01-18 10:00:00.0000000')
t2 = Timestamp('2017-01-20 10:00:00.0000000')
average = Timestamp((t1.value + t2.value)/2.0)
Run Code Online (Sandbox Code Playgroud)