Как установить недостающий год, месяц и день для даты и времени Panda - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть данные метки времени в формате %H:%M:%S:%f.Когда я читаю его и передаю в фрейм данных с pd.to_datetime, он автоматически заполняет 01.01.1900 в дополнение к правильно переданному %H:%M:%S:%f Как мне установить определенный год, месяц, день при чтении ипередать ему часы, минуты, секунды, миллисекунды?

Код, который я использую:

import pandas as pd
df = pd.DataFrame({'Time': ["00:00:00:001", "00:00:00:005","00:00:00:009"]})
df['Time'] = pd.to_datetime(df['Time'], format='%H:%M:%S:%f')
print(df)

Вывод:

                     Time
0 1900-01-01 00:00:00.001
1 1900-01-01 00:00:00.005
2 1900-01-01 00:00:00.009

Желаемый вывод:

Установленная дата, например:

                     Time
0 2018-11-21 00:00:00.001
1 2018-11-21 00:00:00.005
2 2018-11-21 00:00:00.009

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

Есть несколько способов сделать это, возможно, самый простой (по крайней мере, на мой взгляд) - добавить строковое значение желаемой даты, а затем преобразовать в datetime

import pandas as pd
df = pd.DataFrame({'Time': ["00:00:00:001", "00:00:00:005","00:00:00:009"]})
df["Time"] = "2018-11-21 "+ df["Time"]
df['Time'] = pd.to_datetime(df['Time'], format='%Y-%m-%d %H:%M:%S:%f')
print(df)
0 голосов
/ 21 ноября 2018
df['Time']=df['Time'].apply(lambda dt: dt.replace(year=2018, day=21, month=11)) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...