如何计算两个 Pandas 列之间的时间差(仅以小时和分钟为单位)?
计算两个 Pandas 列之间的时间差(以小时和分钟为单位)
在数据分析中,经常需要计算两个日期或时间戳之间的时间差。 Pandas 是 Python 中流行的数据分析库,为此类计算提供了便捷的方法。但是,当时差超过 24 小时时,结果可能会包含天数。本文介绍如何将此结果转换为仅显示小时和分钟。
考虑以下包含两列(fromdate 和 todate)的示例数据框:
import pandas as pd data = {'todate': [pd.Timestamp('2014-01-24 13:03:12.050000'), pd.Timestamp('2014-01-27 11:57:18.240000'), pd.Timestamp('2014-01-23 10:07:47.660000')], 'fromdate': [pd.Timestamp('2014-01-26 23:41:21.870000'), pd.Timestamp('2014-01-27 15:38:22.540000'), pd.Timestamp('2014-01-23 18:50:41.420000')]} df = pd.DataFrame(data)
计算两者之间的差异日期,我们可以使用 - 运算符:
df['diff'] = df['fromdate'] - df['todate']
此操作会生成 diff 列,其中包含 datetime.timedelta 对象。但是,这些对象可能包含天作为一个组成部分,如以下输出所示:
todate fromdate diff 0 2014-01-24 13:03:12.050 2014-01-26 23:41:21.870 2 days 10:38:09.820000 1 2014-01-27 11:57:18.240 2014-01-27 15:38:22.540 0 days 03:41:04.300000 2 2014-01-23 10:07:47.660 2014-01-23 18:50:41.420 0 days 08:42:53.760000
要将此结果转换为仅小时和分钟,我们可以使用带有 'timedelta64[ 的 astype() 方法h]' 参数:
(df.fr-df.to).astype('timedelta64[h]')
此代码会将时间差转换为小时,产生以下结果输出:
0 58 1 3 2 8 dtype: float64
通过应用此方法,我们可以获得两个日期或时间戳之间以小时和分钟为单位的时间差,无论差值是否超过 24 小时。
以上是如何计算两个 Pandas 列之间的时间差(仅以小时和分钟为单位)?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

攻克Investing.com的反爬虫策略许多人尝试爬取Investing.com(https://cn.investing.com/news/latest-news)的新闻数据时,常常�...

Python3.6环境下加载pickle文件报错:ModuleNotFoundError:Nomodulenamed...

使用Scapy爬虫时管道文件无法写入的原因探讨在学习和使用Scapy爬虫进行数据持久化存储时,可能会遇到管道文�...
