如何访问python datetime.time列中的小时数

如何访问python datetime.time列中的小时数,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据帧: TRADE_DATE TICKET_TIME GATE_ENTRY_TIME GATE_EXIT_TIME 2016-09-23 18:00:27 18:02:28 18:55:35 2016-09-23 18:08:48 18:09:01 18:31:11 2016-09-23 19:05:33 19:06:33 19:41:43 2016-09-23 18:06:55

我有一个数据帧:

TRADE_DATE TICKET_TIME GATE_ENTRY_TIME GATE_EXIT_TIME
2016-09-23    18:00:27        18:02:28       18:55:35
2016-09-23    18:08:48        18:09:01       18:31:11
2016-09-23    19:05:33        19:06:33       19:41:43 
2016-09-23    18:06:55        18:08:42       18:34:41
2016-09-23    10:31:35        10:32:06       10:47:27
我想通过从列TICKET\u time中的datetime.time值中提取小时数来创建一个新列

我尝试了df['HOUR']=df['TICKET\u TIME'].dt.HOUR,但没有成功:

AttributeError: Can only use .dt accessor with datetimelike values

如果使用
时间
s,请使用列表理解:

print (type(df.loc[0,"TICKET_TIME"]))
<class 'datetime.time'>

df['Hour'] = [x.hour for x in df['TICKET_TIME']]


您确定
TICKET\u TIME
列中的值是
datetime
对象而不是字符串吗?(可能尝试打印
类型(df.loc[0,“TICKET\u TIME”])
首先)尝试pandas.to\u datetime(df['TICKET\u TIME',errors='concurve')它们是datetime.TIME对象。如果我再次使用pandas.to_datetime(df['TICKET\u TIME',errors='concurve'),它们就会变成NaT。@VincentZheng-如果我的答案有用,请不要忘记它-单击答案旁边的复选标记,将其从灰色变为填充。谢谢
df['Hour'] = pd.to_datetime(df['TICKET_TIME'].astype(str)).dt.hour
print (df)
   TRADE_DATE TICKET_TIME GATE_ENTRY_TIME GATE_EXIT_TIME  Hour
0  2016-09-23    18:00:27        18:02:28       18:55:35    18
1  2016-09-23    18:08:48        18:09:01       18:31:11    18
2  2016-09-23    19:05:33        19:06:33       19:41:43    19
3  2016-09-23    18:06:55        18:08:42       18:34:41    18
4  2016-09-23    10:31:35        10:32:06       10:47:27    10