我在d的数据帧中使用以下方法计算连续时间差:

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 day==86400秒),而前者将返回浮点值,并计算较小的时间单位(ms,ns)以及接近该值的天数:
d['delta'].dt.total_seconds()

关于python - 将连续时差(timedelta)转换为秒,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33455652/

10-12 22:04