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