[英]how to calculate elapsed time in days and hours
大家好,我有两列为datetime格式,我想创建一个新列,以天为单位经过时间,第二列以小时为单位包含其余时间。 请参见示例:
我的数据:
# 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
您需要做:
### first convert your columns to datetime object if it is not already
df['DATE_IDENTIFIED'] = pd.to_datetime(df['DATE_IDENTIFIED'])
df['DATE_CLOSED'] = pd.to_datetime(df['DATE_CLOSED'])
### GET DAYS LIKE THIS
df['days'] = (df['DATE_CLOSED'] - df['DATE_IDENTIFIED']).dt.days
### GET HOURS LIKE THIS
df['hours'] = df['DATE_CLOSED'].dt.hour - df['DATE_IDENTIFIED'].dt.hour
输出:
DATE_IDENTIFIED DATE_CLOSED days hours
0 2019-06-27 10:42:50 2019-09-27 10:40:38 91 0
1 2019-06-28 13:11:58 2019-06-28 19:11:22 0 6
2 2019-06-20 13:12:23 2019-06-28 18:11:22 8 5
3 2019-06-26 11:14:59 2019-06-26 13:13:38 0 2
4 2019-06-26 11:16:04 2019-06-28 14:15:37 2 3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.