Определить, есть ли в столбце значения даты - PullRequest
0 голосов
/ 10 января 2019

У меня есть фрейм данных, где у меня есть столбец «Ряд дат». В этом столбце некоторые строки имеют только время (23:59:52), а некоторые строки имеют только дату (15.09.2009). Я хочу сделать новый столбец на основе этого столбца. Если в столбце «Серия дат» есть дата, то создайте новый столбец и напечатайте эту дату во всех строках, где в столбце «Серия дат» есть дата. Если у «Даты серии» есть время и в новом столбце должно быть напечатано время

1 Ответ

0 голосов
/ 10 января 2019

Вы можете использовать регулярные выражения, чтобы дифференцировать формат. Например, форматирование для времени имеет двоеточия (:), а даты имеют косую черту (/)

В следующих битах кода мы собираемся установить компилятор регулярного выражения, который определяет числа с двоеточиями. Если сопоставление с регулярным выражением дает нам вывод, это будет время, если нет, то это дата

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

Если вы хотите создать regex компилятор для форматирования даты, вы можете использовать

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