Pandas Dataframe Datetime To Time Then To Seconds
I have a dataframe. A column contains timestamps. I would like to remove dates and convert the time to seconds. First I converted them to datetime: In: df_time = pd.to_datetime(df[
Solution 1:
Since you are converting it to datetime series, simply use basic maths to get the seconds i.e
df_time = pd.to_datetime(df["Timestamp"])
(df_time.dt.hour*60+df_time.dt.minute)*60 + df_time.dt.second
0 47340
1 47460
2 47580
3 47700
Name: Timestamp, dtype: int64
Solution 2:
I think you need timedelta
s by to_timedelta
with times
created by split
and selecting second list
s by str[1]
, then total_seconds
and last cast to int
:
df_time = pd.to_timedelta(df["Timestamp"].str.split().str[1]).dt.total_seconds().astype(int)
print (df_time)
047340147460247580347700
Name: Timestamp, dtype: int32
Detail:
print (df["Timestamp"].str.split().str[1])
013:09:00113:11:00213:13:00313:15:00
Name: Timestamp, dtype: objectprint (pd.to_timedelta(df["Timestamp"].str.split().str[1]))
013:09:00113:11:00213:13:00313:15:00
Name: Timestamp, dtype: timedelta64[ns]
Or if need seconds form datetime
s use dt.second
:
df_time = pd.to_datetime(df["Timestamp"]).dt.second
print (df_time)
0 0
1 0
2 0
3 0
Name: Timestamp, dtype: int64
Solution 3:
if you are substracting for duration then use below to convert in seconds (tsession['EndTime'] -tsession['StartTime'])/ np.timedelta64(1, 's')
Post a Comment for "Pandas Dataframe Datetime To Time Then To Seconds"