【问题标题】:How to calculate the time difference between two string-formatted datetimes?如何计算两个字符串格式的日期时间之间的时间差?
【发布时间】:2022-01-17 02:44:44
【问题描述】:

我正在尝试减去具有字符串时间的数据集上的两列,以获得用于统计分析的时间值。 基本上,TOC 是开始时间,IA 是结束时间。 有点不对劲:

dfc = pd.DataFrame(zip(*[TOC,IA]),columns=['TOC','IA'])
print (dfc)

dfc.['TOC']= dfc.['TOC'].astype(dt.datetime)
dfc['TOC'] = pd.to_datetime(dfc['TOC'])
dfc['TOC'] = [time.time() for time in dfc['TOC']]

【问题讨论】:

  • 使用dfc.head(10).to_dict() 提供您的数据框样本并包含您的预期输出。此外,您的代码似乎有错别字/无效行。你的意思是写dfc["TOC"]dfc 后面没有点)而不是dfc.["TOC"]
  • {'日期':{0:'01/01/2013',1:'01/01/2013',2:'01/01/2013',3:'01/01 /2013'},'站区':{0:'Tallaght',1:'Tara St',2:'Finglas',3:'Tara St'},'临床状态':{0:'Non ProQa Class ', 1: 'Bravo', 2: 'Delta', 3: 'Bravo'}, 'TOC': {0: '00:02:09', 1: '00:02:41', 2: '00 :13:52', 3: '00:06:58'}, 'ORD': {0: '00:04:14', 1: '00:14:41', 2: '00:16:26 ', 3: '00:22:33'}, 'MOB': {0: '00:04:58', 1: '00:15:04', 2: '00:16:51', 3: '00:22:59'}, 'IA': {0: '00:10:16', 1: '00:18:10', 2: '00:25:06', 3: '00:34 :48'}, 'LS': {0: nan, 1: nan, 2: '00:29:36', 3: nan},

标签: python pandas datetime


【解决方案1】:

在减去之前将列转换为日期时间:

>>> pd.to_datetime(dfc["IA"], format="%H:%M:%S")-pd.to_datetime(dfc["TOC"], format="%H:%M:%S")

0   0 days 00:08:07
1   0 days 00:15:29
2   0 days 00:11:14
3   0 days 00:27:50
dtype: timedelta64[ns]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-30
    • 1970-01-01
    • 2021-11-25
    • 2011-08-01
    • 2021-01-09
    • 2021-10-09
    • 1970-01-01
    相关资源
    最近更新 更多