Метод to_pydatetime
Метод to_pydatetime применяется к DatetimeIndex
и преобразует все даты и время индекса в список встроенных объектов
datetime.datetime из стандартной библиотеки Python.
Метод не принимает параметров и всегда возвращает список Python,
содержащий объекты datetime.
Синтаксис
datetime_index.to_pydatetime()
Пример
Давайте создадим DatetimeIndex с несколькими датами и преобразуем его в список объектов Python:
import pandas as pd
# Create a DatetimeIndex
idx = pd.DatetimeIndex(['2024-01-01', '2024-01-02', '2024-01-03'])
print("Original DatetimeIndex:")
print(idx)
print()
# Convert to Python datetime objects
res = idx.to_pydatetime()
print("Converted to datetime objects:")
print(res)
Результат выполнения кода:
Original DatetimeIndex:
DatetimeIndex(['2024-01-01', '2024-01-02', '2024-01-03'], dtype='datetime64[ns]', freq=None)
Converted to datetime objects:
[datetime.datetime(2024, 1, 1, 0, 0), datetime.datetime(2024, 1, 2, 0, 0), datetime.datetime(2024, 1, 3, 0, 0)]
Пример
Метод сохраняет временную информацию, если она присутствует в индексе:
import pandas as pd
# Create a DatetimeIndex with time component
idx = pd.DatetimeIndex(['2024-01-01 10:30:00', '2024-01-02 15:45:30'])
print("DatetimeIndex with time:")
print(idx)
print()
# Convert to datetime objects
res = idx.to_pydatetime()
print("Converted datetime objects with time:")
print(res)
Результат выполнения кода:
DatetimeIndex with time:
DatetimeIndex(['2024-01-01 10:30:00', '2024-01-02 15:45:30'], dtype='datetime64[ns]', freq=None)
Converted datetime objects with time:
[datetime.datetime(2024, 1, 1, 10, 30), datetime.datetime(2024, 1, 2, 15, 45, 30)]
Пример
Полученный список можно использовать для операций, требующих стандартных объектов datetime:
import pandas as pd
from datetime import datetime
# Create a DatetimeIndex
idx = pd.DatetimeIndex(['2024-01-01', '2024-01-02', '2024-01-03'])
# Convert to Python datetime objects
dt_list = idx.to_pydatetime()
# Use standard datetime operations
for dt in dt_list:
day_of_week = dt.strftime('%A')
print(f"{dt.strftime('%Y-%m-%d')} is a {day_of_week}")
Результат выполнения кода:
2024-01-01 is a Monday
2024-01-02 is a Tuesday
2024-01-03 is a Wednesday
Смотрите также
-
класс
DatetimeIndex,
который представляет индекс из дат и времени -
метод
to_period,
который преобразует даты в период с заданной частотой -
метод
tz_convert,
который конвертирует часовой пояс индекса -
метод
strftime,
который форматирует даты в строки по указанному шаблону