Вы так близко.Фактически, функция to_datetime
используется для преобразования значения string
в объект datetime
.Таким образом, формат, который вы указываете в to_datetime
, представляет собой текущий формат вашей строки , как python должен читать строку.Таким образом, Python знает, что дата на самом деле date
, а не просто string
. (doc)
После завершения этого преобразования вы можете переформатировать дату в свой собственный формат с помощью функции strftime
(doc) .
Вот пример:
# Import module
import pandas as pd
# Build dataframe
df = pd.DataFrame({"Date": ["1900-01-01 01:01:00",
"1900-01-01 02:01:00",
"1900-01-01 03:31:00",
"1900-01-01 04:01:04",
"1900-01-01 11:01:00"]})
print(df)
# Date
# 0 1900-01-01 01:01:00
# 1 1900-01-01 02:01:00
# 2 1900-01-01 03:31:00
# 3 1900-01-01 04:01:04
# 4 1900-01-01 11:01:00
# Convert the date column (string type) to datetime type
df["Date"] = pd.to_datetime(df["Date"], format="%Y-%m-%d %H:%M:%S")
print(df)
# Date
# 0 1900-01-01 01:01:00
# 1 1900-01-01 02:01:00
# 2 1900-01-01 03:31:00
# 3 1900-01-01 04:01:04
# 4 1900-01-01 11:01:00
# Reformat the date column. Here Hours:minutes:seconds
df["Date"] = df.Date.dt.strftime("%H:%M:%S")
print(df)
# Date
# 0 01:01:00
# 1 02:01:00
# 2 03:31:00
# 3 04:01:04
# 4 11:01:00