我有一个Pandas数据框(data),其中有一列['Date'],其值类似于“yyyy-mm-dd HH:MM:SS”,我已将其转换为Pandas Datetime格式。
data['Date'] = pd.to_datetime(data['Date'])
如何基于每天的小时数创建一个新的分类列['Time'],其中包含'Early','Mid-day','Late'等类别?
我尝试过以下方法:
def time(x):
if '03:00:00' < x <= '11:00:00':
return 'Early'
elif '11:00:00' < x <= '17:00:00':
return 'Mid-day'
return 'Late'
data['Time'] = data['Date'].dt.time.apply(time)
但我遇到了这个错误:" TypeError: '<' not supported between instances of 'str' and 'datetime.time' "
非常感谢您的帮助!
pd.to_datetime('03:00:00').time < x <= pd.to_datetime('11:00:00').time
- jch