pandas 转换时间增量到秒

hmmo2u0o  于 2023-01-07  发布在  其他
关注(0)|答案(2)|浏览(130)

我在dataframe中计算了持续时间,但我想得到以秒为单位的持续时间,而不是它给出的值(0 days, 00:10:25等):

df['duration'] = df['end_date'] - df['start_date']
df.head(2)
    started_at  ended_at    start_date  end_date    duration
0   2021-01-23 16:14:19 2021-01-23 16:24:44 2021-01-23 16:14:19 2021-01-23 16:24:44 0 days 00:10:25
1   2021-01-27 18:43:08 2021-01-27 18:47:12 2021-01-27 18:43:08 2021-01-27 18:47:12 0 days 00:04:04

我尝试了here的一些解决方案,但我不确定如何正确地做,没有任何效果;比如我试过这个:

df['duration'] = datetime.timedelta.total_seconds(df['duration'])

但上面写着

TypeError: descriptor 'total_seconds' for 'datetime.timedelta' objects doesn't apply to a 'Series' object
czq61nw1

czq61nw11#

应该可以使用total_seconds方法,但是需要通过datetime访问器dt访问该方法。

>>> df['duration'].dt.total_seconds()

但是,如果系列Duration是字符串/对象-则应使用pd.to_timedelta

>>> pd.to_timedelta(df['duration']).dt.total_seconds()
kqlmhetl

kqlmhetl2#

我会尝试在您的Series上运行apply

df['duration'] = df['duration'].apply(datetime.timedelta.total_seconds)

从您的错误。它是说,您正在尝试运行它的一个系列

相关问题