首页 > 解决方案 > Timedelta 时间差表示为浮点变量

问题描述

我在一个由时间戳标记为日期时间对象的熊猫数据框中有数据。我想制作一个图表,将时间视为流动的东西。我的想法是从其他时间戳中减去第一个时间戳(这里是第二个条目的示例)

xhertz_df.loc[1]['Dates']-xhertz_df.loc[0]['Dates']

获取自第一次测量以来经过的时间。350 days 08:27:51它作为 timedelta 对象给出。到目前为止,一切都很好。

这可能是重复的,但到目前为止我还没有在这里找到解决方案。有没有办法将此对象快速转换为数分钟或数秒或数小时。我知道我可以提取单独的天数、小时数和分钟数,然后进行繁琐的计算来得到它。但是有没有一种集成的方法可以将这个对象变成我想要的?

就像是

timedelta.tominutes

将它作为几分钟的浮点数返回,会很棒。

标签: pythonpandasdatetimetimedelta

解决方案


在 Pandas 中,Timestamp 和 Timedelta 列在内部被处理为 numpy datetime64[ns],即整数纳秒。

因此,将 Timedelta 列转换为分钟数很简单:

(xhertz_df.loc[1]['Dates']-xhertz_df.loc[0]['Dates']).astype('int64')/60000000000.

推荐阅读