【问题标题】:Extract Date/time from string从字符串中提取日期/时间
【发布时间】:2023-01-04 23:18:46
【问题描述】:

我有一个看起来像这样的数据框:

ID     RESULT
1      Pivot (Triage) Form Entered On:  12/30/2022 23:20 EST    Performed On:  12/30/2022 23:16 EST 

我想提取两个日期时间变量,以便新数据框如下所示:

ID        END_TIME            START_TIME
1         12/30/2022 23:20    12/30/2022 23:16

我正在尝试多种方法,但得到的结果是 'END_TIME''START_TIME' 变量输出为“NA”。

TEST['END_TIME']=TEST['RESULT'].str.extract("Entered On:  (\d+) EST")
TEST['START_TIME']=TEST['RESULT'].str.extract("Performed On:  (\d+) EST")

【问题讨论】:

    标签: python pandas spyder


    【解决方案1】:

    假设总是有 2 个且只有两个时间戳,并使用更通用的正则表达式模式,我们可以尝试:

    test[["END_TIME", "START_TIME"]] = test["RESULT"].str.extract(r'Entered On:s*(d{1,2}/d{1,2}/d{4} d{1,2}:d{1,2} [A-Z]{3})s+Performed On:s*(d{1,2}/d{1,2}/d{4} d{1,2}:d{1,2} [A-Z]{3})')
    

    这是 regex demo 显示正则表达式模式和捕获组正常工作。

    【讨论】:

      猜你喜欢
      • 2020-08-14
      • 2011-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 2019-06-06
      • 1970-01-01
      相关资源
      最近更新 更多