Очистка данных в python - PullRequest
0 голосов
/ 18 мая 2018

Я работаю над проектом машинного обучения. В наборе данных есть функция TimeStamp в следующем формате, Month12 Day9 10:20:00.Таких записей более 100 тысяч.Я хочу изменить все это в следующем формате 2013-07-04 00:00:00.

Как это сделать в Excel или Python?

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Вы можете использовать модуль re:

import re

regex = r"Month(?P<month>\d{2}) Day(?P<day>\d{1,2}) (?P<time>\d{2}:\d{2}:\d{2})"
result = r"2012-\g<month>-0\g<day> \g<time>" # Assuming the year is 2012

print(re.sub(regex, result, "Month12 Day9 10:20:00"))

. Будет напечатано:

2012-12-09 10:20:00

0 голосов
/ 18 мая 2018

Модуль Python datetime содержит нужные вам кусочки.В частности, вы можете использовать strptime() для анализа строки в datetime объекте и strftime() для форматирования datetime объекта в строку.

Документация: https://docs.python.org/3.6/library/datetime.html#strftime-strptime-behavior

Вы не сказали, как хранятся ваши данные, но если они находятся в например файле CSV, вам может повезти, загрузив его в кадр данных pandas;Панды, как правило, достаточно умны в интерпретации строк как даты / времени без особой помощи с вашей стороны.

...