Python 仅datetime列的时间平均值分量

Python 仅datetime列的时间平均值分量,python,pandas,datetime,Python,Pandas,Datetime,我有一个pandas数据框,其中有一列datetimes。我需要找到此列的平均时间,而不考虑日期。例如,如果我有 dte ---- 2018-02-20 20:30:00 2018-09-03 20:30:00 2017-05-18 21:00:00 2014-11-26 21:00:00 我希望有一个结果 20:45:00 我试着简单地取datatime对象的时间分量并求平均值,一个la df['tm'].dt.time.mean() 但它给了我以下错误: TypeError: unsu

我有一个pandas数据框,其中有一列datetimes。我需要找到此列的平均时间,而不考虑日期。例如,如果我有

dte
----
2018-02-20 20:30:00
2018-09-03 20:30:00
2017-05-18 21:00:00
2014-11-26 21:00:00
我希望有一个结果

20:45:00
我试着简单地取datatime对象的时间分量并求平均值,一个la

df['tm'].dt.time.mean()
但它给了我以下错误:

TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'

一种方法是扣除标准化的
datetime
,然后计算
timedelta
序列的平均值

df = pd.DataFrame({'datetime': ['2018-02-20 20:30:00', '2018-09-03 20:30:00',
                                '2017-05-18 21:00:00', '2014-11-26 21:00:00']})

# convert to datetime
df['datetime'] = pd.to_datetime(df['datetime'])

# take difference to normalized datetime
df['time'] = df['datetime'] - df['datetime'].dt.normalize()

# calculate mean and format
res = str(df['time'].mean())[-8:]

print(res)

'20:45:00'

@凯文不管约会。也许他观察到的一些现象遵循一种昼夜模式。