Python/Pandas计算日期时间列的平均时间(小时)
Python/Pandas Calculate the mean time (hour) of a Datetime column
我有一个 Pandas DataFrame(数据),在 DateTime(日期和时间)中有一列 ['Date']
,代表到达时间。
如何仅计算一天中的时间(不是日期)的平均值,并得到以小时、分钟、秒为单位的时间?
我试过:
data['Time'] = data['Date'].dt.time
然后计算data['Time'].mean()
但它显示:“TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
”
我的数据样本:
Date
35 2021-12-02 09:03:00
36 2021-12-01 08:57:00
37 2021-11-30 08:50:00
38 2021-11-29 08:40:00
39 2021-11-28 10:31:00
41 2021-11-25 08:58:00
43 2021-11-23 08:37:00
44 2021-11-22 08:56:00
45 2021-11-19 09:00:00
46 2021-11-18 09:30:00
47 2021-11-17 08:47:00
48 2021-11-16 08:45:00
49 2021-11-15 09:44:00
使用:
data['Time'] = pd.to_timedelta(data['Date'].dt.time.astype(str))
import datetime
out = data['Time'].mean()
print (out)
0 days 09:06:00
time = (datetime.datetime.min + out).time()
print (time)
09:06:00
我有一个 Pandas DataFrame(数据),在 DateTime(日期和时间)中有一列 ['Date']
,代表到达时间。
如何仅计算一天中的时间(不是日期)的平均值,并得到以小时、分钟、秒为单位的时间?
我试过:
data['Time'] = data['Date'].dt.time
然后计算data['Time'].mean()
但它显示:“TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'
”
我的数据样本:
Date
35 2021-12-02 09:03:00
36 2021-12-01 08:57:00
37 2021-11-30 08:50:00
38 2021-11-29 08:40:00
39 2021-11-28 10:31:00
41 2021-11-25 08:58:00
43 2021-11-23 08:37:00
44 2021-11-22 08:56:00
45 2021-11-19 09:00:00
46 2021-11-18 09:30:00
47 2021-11-17 08:47:00
48 2021-11-16 08:45:00
49 2021-11-15 09:44:00
使用:
data['Time'] = pd.to_timedelta(data['Date'].dt.time.astype(str))
import datetime
out = data['Time'].mean()
print (out)
0 days 09:06:00
time = (datetime.datetime.min + out).time()
print (time)
09:06:00