我使用以下方法计算了 d
的 DataFrame 中的连续时间差:
d['delta'] = (d['time'] - d['time'].shift()).fillna(0)
所以我在“delta”列中有时间差。我的问题是如何将其转换为秒?输出的格式为 00:50:00,我想将其转换为 3000 秒。
最佳答案
您的列是 timedelta64 类型,因此您可以使用 .dt
访问器来查找 seconds
属性:
d['delta'].dt.seconds
有关 .dt
访问器的更多信息可以找到 here .
正如 @Jeff 在评论中指出的那样,您可能最好使用 total_seconds()
而不是 seconds
;后者仅返回整数(整数)秒数(模 1 天 == 86400 秒),而前者将返回浮点值,计算较小的时间单位(ms、ns)以及天数值:
d['delta'].dt.total_seconds()
关于python - 将连续时间差 (timedelta) 转换为秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33455652/