我想做的是如果 20:00:00 之間的 07:30:00 = 日光
由于前導零,這不起作用:
df.loc[df['Time_of_Day'] <= 07:30:00 and df['Time_of_Day'] <= 20:00:00]='daylight'
資料框
Time_of_Day
13:30:00
11:30:00
00:01:00
etc.
uj5u.com熱心網友回復:
你需要像這樣使用括號和引號:
df.loc[(df['Time_of_Day'] >= '07:30:00') & (df['Time_of_Day'] <= '20:00:00'), 'Time_of_Day'] = 'daylight'
Date Description Time_of_Day
0 09/05/2015 01:30:00 PM DOMESTIC BATTERY SIMPLE daylight
1 09/04/2015 11:30:00 AM POCKET-PICKING daylight
2 09/01/2018 12:01:00 AM OVER $500 00:01:00
3 09/05/2015 12:45:00 PM POSS: HEROIN(BRN/TAN) daylight
4 09/05/2015 01:00:00 PM SIMPLE daylight
(我猜 >= 7:30 而不是 <=)
uj5u.com熱心網友回復:
# create a time field from datetime
df['time']=pd.to_datetime(df['Date']).dt.strftime('%H:%M:%S')
# use LOC to identify the rows matching criteria then set a field to 'daylight'
# i created a column named daylight, which could be anything
df.loc[(df['time']>='07:00:00') &
(df['time']<='20:00:00'), 'daylight'] = 'daylight'
df
Date Description Time_of_Day time daylight
0 09/05/2015 01:30:00 PM DOMESTIC BATTERY SIMPLE 13:30:00 13:30:00 daylight
1 09/04/2015 11:30:00 AM POCKET-PICKING 11:30:00 11:30:00 daylight
2 09/01/2018 12:01:00 AM OVER $500 00:01:00 00:01:00 NaN
3 09/05/2015 12:45:00 PM POSS: HEROIN(BRN/TAN) 12:45:00 12:45:00 daylight
4 09/05/2015 01:00:00 PM SIMPLE 13:00:0 13:00:00 daylight
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/512104.html
