In the dataframe, one of the columns is duration. It was given as a string.
JavaScript
x
12
12
1
index duration
2
1 1 hour, 2 minutes, 21 seconds
3
2 1 hour, 2 minutes, 26 seconds
4
3 1 hour, 2 minutes, 41 seconds
5
4 1 hour, 4 minutes, 39 seconds
6
5 1 hour, 42 seconds
7
6 6 minutes, 7 seconds
8
7 9 minutes, 7 seconds
9
8 9 minutes, 9 seconds
10
9 9 minutes, 9 seconds
11
10 9 minutes, 9 seconds
12
How can I convert this column into seconds?
Advertisement
Answer
Use pd.Timedelta
to parse each item:
JavaScript
1
2
1
df['duration'] = df['duration'].apply(pd.Timedelta).dt.total_seconds().astype(int)
2
Output:
JavaScript
1
13
13
1
>>> df
2
duration
3
0 3741
4
1 3746
5
2 3761
6
3 3879
7
4 3642
8
5 367
9
6 547
10
7 549
11
8 549
12
9 549
13