在dataframe Python中的文本列中查找日期和时间

2024-09-30 06:23:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在包含文本句子的列中查找并提取日期和时间。示例数据如下所示

df = {'Id':  ['001', '002',...],
        'Description': ['
THERE IS AN INTERUPTION/FAILURE @ 9.6AM ON 27.1.2020 FOR JB BRANCH. THE INTERUPTION ALSO INVOLVED A, B, C AND SOME OTHER TOWN AREAS. OTC AND SST SERVICES INTERRUPTED AS GENSET ALSO WORKING AT THAT TIME. WE CALL FOR SERVICE. THE TECHNICHIAN COME AT 10.30AM. THEN IT BECOME OK AROUND 10.45AM', 'today is 23/3/2013 @10:AM we have',...],
         ....
        }

df = pd.DataFrame (df, columns = ['Id','Description'])
     

我试过下面的datefinder库,但它给出的日期是错误的

findDate = dtf.find_dates(le['Description'][0])
for dates in findDate:
   print(dates)

有人知道提取并自动放入新列的最佳方法吗?或者是否有人知道任何可以计算字符串文本中时间和日期之间的持续时间的库。多谢各位


Tags: andthe文本iddffor时间description
1条回答
网友
1楼 · 发布于 2024-09-30 06:23:33

这里有两个问题

  1. 您想知道如何在数据帧上应用函数
  2. 您需要一个函数来从一堆文本中提取模式

下面是如何在序列上应用函数(如果像我那样只选择一列,则得到一个序列)。加分:阅读DataFrame.apply()Series.apply()文档(30秒)成为一名熊猫

def do_something(x):
    some-code()

df['new_text_column'] = df['original_text_column'].apply(do_something) 

这里有一种使用正则表达式从字符串中提取模式的方法。阅读regex doc(或跟随a course)并与RegExr一起玩,成为一个无所不知的神(也就是说,如果您在Linux上使用命令行以及您的正则表达式知识)

修改自:How to extract the substring between two markers?

import re    
text = 'gfgfdAAA1234ZZZuijjk'
# Searching numbers.
m = re.search('\d+', text)
if m:
    found = m.group(0)
# found: 1234

相关问题 更多 >

    热门问题