python - Timedelta 时间差表示为浮点变量
问题描述
我在一个由时间戳标记为日期时间对象的熊猫数据框中有数据。我想制作一个图表,将时间视为流动的东西。我的想法是从其他时间戳中减去第一个时间戳(这里是第二个条目的示例)
xhertz_df.loc[1]['Dates']-xhertz_df.loc[0]['Dates']
获取自第一次测量以来经过的时间。350 days 08:27:51
它作为 timedelta 对象给出。到目前为止,一切都很好。
这可能是重复的,但到目前为止我还没有在这里找到解决方案。有没有办法将此对象快速转换为数分钟或数秒或数小时。我知道我可以提取单独的天数、小时数和分钟数,然后进行繁琐的计算来得到它。但是有没有一种集成的方法可以将这个对象变成我想要的?
就像是
timedelta.tominutes
将它作为几分钟的浮点数返回,会很棒。
解决方案
在 Pandas 中,Timestamp 和 Timedelta 列在内部被处理为 numpy datetime64[ns],即整数纳秒。
因此,将 Timedelta 列转换为分钟数很简单:
(xhertz_df.loc[1]['Dates']-xhertz_df.loc[0]['Dates']).astype('int64')/60000000000.
推荐阅读
- google-analytics - 如何在 Google Analytics api v4 中使用 AND 运算符过滤多个维度?
- java - SOAPUI 在使用 WSDL 创建新项目时未生成示例请求
- sql - 在同一列上使用具有两种条件的 Where 子句
- javascript - 如何实现在悬停反应路由器链接时显示下划线的过渡效果?
- javascript - 在浏览器中调试 reactjs 时无法访问控制台中的局部变量
- django - 单击时设置会话变量
- azure - 将包含 Azure AD B2C 信息的 appsettings.json 添加到源代码管理
- css - 线高不准确?
- ubuntu-14.04 - 运行编译时计算机死机
- php - 图像文件上传在 wamp 服务器上不起作用