Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
361 views
in Technique[技术] by (71.8m points)

python - Extracting the hour from a time column in pandas

Suppose I have the following dataset:

enter image description here

How would I create a new column, to be the hour of the time?

For example, the code below works for individual times, but I haven't been able to generalise it for a column in pandas.

t = datetime.strptime('9:33:07','%H:%M:%S')
print(t.hour)
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Use to_datetime to datetimes with dt.hour:

df = pd.DataFrame({'TIME':['9:33:07','9:41:09']})

#should be slowier
#df['hour'] = pd.to_datetime(df['TIME']).dt.hour

df['hour'] = pd.to_datetime(df['TIME'], format='%H:%M:%S').dt.hour
print (df)
      TIME  hour
0  9:33:07     9
1  9:41:09     9

If want working with datetimes in column TIME is possible assign back:

df['TIME'] = pd.to_datetime(df['TIME'], format='%H:%M:%S')

df['hour'] = df['TIME'].dt.hour
print (df)
                 TIME  hour
0 1900-01-01 09:33:07     9
1 1900-01-01 09:41:09     9

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...