У меня есть фрейм данных pandas, в котором каждая ячейка столбца содержит временную метку, сохраненную в виде строки:
>>>dataset['DateTime'][1]
'2018-03-14 00:34:46'
Я хотел бы создать новый столбец, в котором эти даты обрабатываются в следующемпуть:
год + = 1,
месяц + = 2,
день + = 3,
час + = 4,
минута + = 5,
секунда + = 6
(Важным для этой манипуляции является то, что начальная дата и новая дата имеют отношение один к одному, поэтому я могупреобразовать дату позже позже)
В моем случае вывод, который я ищу, выглядит следующим образом:
>>> dataset['newTimestamp'][1]
'2019-05-17 04:39:52'
Для этого я использую библиотеку datetime
для создания даты и времениобъекты (в качестве теста я сначала начал с одной переменной):
timestamp = dataset['DateTime'][1]
p = datetime.datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S")
В настоящее время я делаю арифметику для отдельных переменных:
year = p.year + 1
if p.month < 12:
month = p.month + 1
else:
month = 1
year += 1
Однако, как и в месяцах,Существуют исключения, когда вы можете и когда вы не можете добавить значения, так что новая временная метка все еще является реальной временной меткой (12 + 1 = 13, что равно nне фактический месяц).
Я мог бы явно программировать каждое правило, но это кажется слишком большой работой, и я ожидаю, что есть лучшие способы.Как я мог сделать это быстрее?