我有一个pandas数据框,我想从中提取大于或小于12pm的时间子集。首先我在pandas中将我的字符串日期时间转换为datetime[64]ns对象。
segments_data['time'] = pd.to_datetime((segments_data['time']))
然后我按以下方式将时间、日期、月份、年份和星期几分开。
import datetime as dt
segments_data['date'] = segments_data.time.dt.date
segments_data['year'] = segments_data.time.dt.year
segments_data['month'] = segments_data.time.dt.month
segments_data['dayofweek'] = segments_data.time.dt.dayofweek
segments_data['time'] = segments_data.time.dt.time
我的时间列如下所示。
segments_data['time']
Out[1906]:
07:43:00
07:52:00
08:00:00
08:42:00
09:18:00
09:18:00
09:18:00
09:23:00
12:32:00
12:43:00
12:55:00
Name: time, dtype: object
现在我想根据时间对数据框进行子集化,其中时间大于中午12点并且时间小于中午12点。
segments_data.time[segments_data['time'] < 12:00:00]
不能工作是因为time
是一个字符串对象
。
TypeError: can't compare datetime.time to str
。 - Neilbetween_time
要求日期时间必须是索引。我们如何在一列上应用它?我有什么遗漏吗? - nishant