检测列是否具有日期值

时间:2019-01-10 12:26:28

标签: python-3.x pandas-groupby sklearn-pandas

我有一个数据框,其中有一列“日期系列”。在该列中,某些行仅具有时间(23:59:52),而某些行仅具有日期(9/15/2019)。我想基于此列创建一个新列。如果“日期系列”列具有日期,则新建一个列,并在“日期系列”列具有日期的所有行中打印该日期。如果“日期系列”有时间,并且新列应该有时间打印

1 个答案:

答案 0 :(得分:0)

您可以使用正则表达式来区分格式。 例如,时间格式包含冒号(:),日期包含正斜杠(/)

在下面的代码位中,我们将建立一个正则表达式编译器,该程序可检测带有冒号的数字。如果正则表达式匹配给我们输出,那将是一个时间,如果不是,则为日期

import re

re_time = re.compile(r'\d+:\d+:\d+')    #our regex compiler
for row in column:                      #for each row in column
    if re_time.match(row):
         # the string contained in row is 'time' format
    else:
         # the string contained in row is 'date' format

如果要创建用于日期格式的正则表达式编译器,可以使用

re_date = re.compile(r'\d+/\d+/\d+')