Skip to content Skip to sidebar Skip to footer

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 timedeltas by to_timedelta with times created by split and selecting second lists 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 datetimes 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"