如何求和找到几个日期时间的平均值
How to sum find the average of several datetime
我想知道如何找到几个日期时间的平均值。
例如,我有以下日期时间列表:
a=[datetime.datetime(2010, 10, 14, 0, 14), datetime.datetime(2010, 10, 14, 0, 15), datetime.datetime(2010, 10, 14, 0, 16), datetime.datetime(2010, 10, 14, 0, 17)]
当我试图直接将它们相加时,它告诉我有一个
TypeError: unsupported operand type(s) for +: 'int' and 'datetime.datetime'
不确定这样做的正确方法是什么。
非常感谢你能帮助我!
谢谢!
从技术上讲,您可以通过将平均时间戳(UNIX 时间)转换为新的日期时间对象来计算日期时间的“平均值”:
import datetime
l = [datetime.datetime(2010, 10, 14, 0, 14),
datetime.datetime(2010, 10, 14, 0, 15),
datetime.datetime(2010, 10, 14, 0, 16),
datetime.datetime(2010, 10, 14, 0, 17)]
middle = datetime.datetime.fromtimestamp(sum(d.timestamp() for d in l)/len(l))
# middle
# datetime.datetime(2010, 10, 14, 0, 15, 30)
我想知道如何找到几个日期时间的平均值。 例如,我有以下日期时间列表:
a=[datetime.datetime(2010, 10, 14, 0, 14), datetime.datetime(2010, 10, 14, 0, 15), datetime.datetime(2010, 10, 14, 0, 16), datetime.datetime(2010, 10, 14, 0, 17)]
当我试图直接将它们相加时,它告诉我有一个
TypeError: unsupported operand type(s) for +: 'int' and 'datetime.datetime'
不确定这样做的正确方法是什么。
非常感谢你能帮助我!
谢谢!
从技术上讲,您可以通过将平均时间戳(UNIX 时间)转换为新的日期时间对象来计算日期时间的“平均值”:
import datetime
l = [datetime.datetime(2010, 10, 14, 0, 14),
datetime.datetime(2010, 10, 14, 0, 15),
datetime.datetime(2010, 10, 14, 0, 16),
datetime.datetime(2010, 10, 14, 0, 17)]
middle = datetime.datetime.fromtimestamp(sum(d.timestamp() for d in l)/len(l))
# middle
# datetime.datetime(2010, 10, 14, 0, 15, 30)