Как кодировать дату и время как числа? - PullRequest
0 голосов
/ 07 ноября 2019

Я ищу метод для кодирования записей DateTime, таких как 2017-11-28 11:45:00, в числовом коде, содержащем число для каждого месяца, каждого рабочего дня, включая субботу, праздничные дни, все это уникальным числом, включая воскресенье, ичасы как дневная смена, как утро и полдень.

Соответственно, DateTime 2017-11-28 11:45:00, который был ноябрь, четверг, утро, получило бы что-то вроде 1121, где ноябрь - 11, вторник - 2, а утро - 1.

Однако,2017-04-23 14:30:03, то есть апрель, воскресенье, полдень, получится что-то вроде 472, где 4 - это апрель, 7 - воскресенье и 2 дня. Праздник должен быть закодирован как понедельник, а суббота - нет. Конечно, приведенный выше формат кода является лишь идеей, но не обязательным.

Я хочу использовать эти данные в качестве входных данных нейронной сети, поэтому для моих целей моделирования важно знать конкретный рабочий день, праздники, дневную смену и месяц.

Спасибо

1 Ответ

1 голос
/ 07 ноября 2019
- - - - - - - - - 

Input: date

Process : Main

Output: Format: Month + day + turn




Process:

month = get_month(date)

day_week = get_day(date)

hour = get_your(date)



f_monht = format_month(month)

f_day = format_day(day_week)

f_turn = format_turn(hour)


print f_monht + f_day + f_turn 

# ---------import-------------
import datetime

# ----------DEFs--------------
def format_date(date_string):
  d = datetime.datetime.strptime(date_string, '%Y-%m-%d %H:%M:%S')

  #month = get_month(date)
  month = d.month

  # day_week = get_day(date)
  day_week = d.weekday()

  # hour = get_hour(date)
  hour = d.hour

  f_monht = format_month(month)
  f_day = format_day(day_week)
  f_turn = format_turn(hour)

  return f_monht + f_day+f_turn

def format_month(month):
  return str(month)

def format_day(day_week):
  return str(day_week+1)

def  format_turn(hour):
  if hour < 12:
    return '1'
  elif hour <18:
    return '2'
  else:
    return '3'


#-----------MAIN--------------
date_1 = '2017-11-28 11:45:00'
f_date_1 = format_date(date_1)
print(f_date_1)

date_2 = '2017-04-23 14:30:03'
f_date_2 = format_date(date_2)
print(f_date_2)

Исходный код большой, именно для образовательных целей. Уменьшите на ваше усмотрение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...