python - 如何计算以天和小时为单位的经过时间
问题描述
大家好,我有两列日期时间格式,我想创建一个新列,其中包含以天为单位的经过时间,第二列包含以小时为单位的其余时间。请看例子:
我的数据:
# importing pandas as pd
import pandas as pd
# creating a dataframe
df = pd.DataFrame({'DATE_IDENTIFIED': ['2019-06-27 10:42:50 ', '2019-06-28 13:11:58', '2019-06-20 13:12:23','2019-06-26 11:14:59','2019-06-26 11:16:04'],
'DATE_CLOSED': ['2019-09-27 10:40:38', '2019-06-28 19:11:22',
'2019-06-28 18:11:22','2019-06-26 13:13:38','2019-06-28 14:15:37']})
DATE_IDENTIFIED DATE_CLOSED
0 2019-06-27 10:42:50 2019-06-27 10:40:38
1 2019-06-28 13:11:58 2019-06-28 13:11:22
2 2019-06-28 13:12:23 2019-06-28 13:11:22
3 2019-06-26 11:14:59 2019-06-26 11:13:38
4 2019-06-26 11:16:04 2019-06-26 11:15:37
例子
DATE_IDENTIFIED DATE_CLOSED days hours
2019-06-27 10:42:50 2019-09-27 10:40:38 90 0
2019-06-28 13:11:58 2019-06-28 19:11:22 0 6
2019-06-20 13:12:23 2019-06-28 18:11:22 8 5
2019-06-26 11:14:59 2019-06-26 13:13:38 0 2
2019-06-26 11:16:04 2019-06-28 14:15:37 2 3
解决方案
也许这篇文章中的代码行可能会让你开始:
df['A'] = pd.to_datetime(df['A'])
df['B'] = pd.to_datetime(df['B'])
df['C'] = (df['B'] - df['A']).dt.days
对于剩余的小时数,您可能需要做一些额外的数学运算,例如转换小时数并减去天数乘以 24 小时
df['B'] = (df['B'] - df['A']).dt.hours - df['C'] * 24
推荐阅读
- angularjs - 当数据需要时间加载时 Select2 不起作用
- c# - c# - Newtonsoft.Json 异常:序列化 IEnumerable 对象时出现问题
- java - 从本机应用程序在 Android 上绑定 QtService
- angular - Firebase 身份验证覆盖和/或提取缓存值
- python - Matlab VectorA/VectorB转Python
- gitlab-ci - Kaniko:在管道中构建多个 dockerfile
- python - 视图 pages.views.contact 没有返回 HttpResponse 对象。它返回 None 而不是
- python - 弹性搜索使用python使用时间戳排序
- android - 每 10k 会话的崩溃 Firebase 指标:我可以看到超过“过去 30 分钟”的信息吗?
- r - 如何生成带有分类子集的计数表?