簡體   English   中英

如何在python datetime.time列中訪問小時

[英]How to access hours in a python datetime.time column

我有一個數據框:

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_TIME列中的datetime.time值中提取小時數來創建新列。

我已經嘗試過df ['HOUR'] = df ['TICKET_TIME']。dt.hour,但沒有成功:

AttributeError: Can only use .dt accessor with datetimelike values

如果使用time s,請使用列表理解:

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

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

替代解決方案:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM