Метод to_pydatetime
Метод to_pydatetime применяется к Series
с типом datetime через аксессор dt
и преобразует значения из типа Timestamp
Pandas в нативный тип datetime.datetime
из стандартной библиотеки Python.
Метод не принимает параметров и возвращает Series,
содержащую объекты datetime.datetime.
Синтаксис
ser.dt.to_pydatetime()
Пример
Давайте преобразуем колонку с датами в нативный Python datetime:
import pandas as pd
ser = pd.Series(pd.date_range('2025-01-01', periods=3, freq='D'))
print(ser.dt.to_pydatetime())
Результат выполнения кода:
[datetime.datetime(2025, 1, 1, 0, 0)
datetime.datetime(2025, 1, 2, 0, 0)
datetime.datetime(2025, 1, 3, 0, 0)]
dtype: object
Пример
Теперь давайте проверим, что полученные объекты действительно являются нативными Python datetime:
import pandas as pd
ser = pd.Series(pd.date_range('2025-01-01', periods=2, freq='D'))
res = ser.dt.to_pydatetime()
print(type(res.iloc[0]))
Результат выполнения кода:
"<class 'datetime.datetime'>"
Пример
Метод можно применять и к индексу с датами через аксессор dt:
import pandas as pd
df = pd.DataFrame(
{'a': [1, 2, 3]},
index=pd.date_range('2025-01-01', periods=3, freq='D')
)
res = df.index.to_pydatetime()
print(res)
Результат выполнения кода:
array([datetime.datetime(2025, 1, 1, 0, 0),
datetime.datetime(2025, 1, 2, 0, 0),
datetime.datetime(2025, 1, 3, 0, 0)], dtype=object)
Смотрите также
-
метод
date,
который возвращает только дату без времени -
метод
time,
который возвращает только время без даты -
метод
components,
который разбивает дату на отдельные составляющие -
метод
to_period,
который преобразует дату в период