我有一个如下的pandas dataframe时间列。
segments_data['time']
Out[1585]:
0 04:50:00
1 04:50:00
2 05:00:00
3 05:12:00
4 06:04:00
5 06:44:00
6 06:44:00
7 06:47:00
8 06:47:00
9 06:47:00
我想在上述时间栏上添加5小时30分钟。我正在用python做下面的事情。
pd.DatetimeIndex(segments_data['time']) + pd.DateOffset(hours=5,minutes=30)
但这给我一个错误。
TypeError: object of type 'datetime.time' has no len()
请帮忙。
这是做这件事的粗糙方式,主要是这里的问题是缺乏对矢量化支持time
的对象,所以你首先需要转换time
到datetime
使用combine
,然后应用偏移,并获得time
部分回:
In [28]:
import datetime as dt
df['new_time'] = df['time'].apply(lambda x: (dt.datetime.combine(dt.datetime(1,1,1), x,) + dt.timedelta(hours=3,minutes=30)).time())
df
Out[28]:
time new_time
index
0 04:50:00 08:20:00
1 04:50:00 08:20:00
2 05:00:00 08:30:00
3 05:12:00 08:42:00
4 06:04:00 09:34:00
5 06:44:00 10:14:00
6 06:44:00 10:14:00
7 06:47:00 10:17:00
8 06:47:00 10:17:00
9 06:47:00 10:17:00
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句