Để chuyển DateTimeIndex thành mảng đối tượng (object ndarray) chứa các đối tượng datetime.datetime gốc của Python, sử dụng phương thức DateTimeIndex.to_pydatetime().
Các bước thực hiện
1. Import thư viện
import pandas as pd
2. Tạo DateTimeIndex
datetimeindex = pd.date_range(
'2021-10-18 07:20:32.261811624',
periods=5,
freq='2Y'
)
3. Hiển thị DateTimeIndex
print("DateTimeIndex...\n", datetimeindex)
4. Chuyển sang mảng datetime.datetime
print("\nDateTimeIndex as object ndarray...\n",
datetimeindex.to_pydatetime())
Ví dụ hoàn chỉnh
import pandas as pd
datetimeindex = pd.date_range(
'2021-10-18 07:20:32.261811624',
periods=5,
freq='2Y'
)
print("DateTimeIndex...\n", datetimeindex)
print("DateTimeIndex frequency...\n", datetimeindex.freq)
print("\nDateTimeIndex as object ndarray of datetime.datetime objects...\n",
datetimeindex.to_pydatetime())
Kết quả đầu ra
DateTimeIndex...
DatetimeIndex(['2021-12-31 07:20:32.261811624', '2023-12-31 07:20:32.261811624',
'2025-12-31 07:20:32.261811624', '2027-12-31 07:20:32.261811624',
'2029-12-31 07:20:32.261811624'],
dtype='datetime64[ns]', freq='2A-DEC')
DateTimeIndex as object ndarray of datetime.datetime objects...
[datetime.datetime(2021, 12, 31, 7, 20, 32, 261811)
datetime.datetime(2023, 12, 31, 7, 20, 32, 261811)
datetime.datetime(2025, 12, 31, 7, 20, 32, 261811)
datetime.datetime(2027, 12, 31, 7, 20, 32, 261811)
datetime.datetime(2029, 12, 31, 7, 20, 32, 261811)]
Khi nào cần to_pydatetime()?
- Tương tác với thư viện chuẩn
datetime(json, pickle, csv writer...) - Cần đối tượng
datetime.datetimethuần túy thay vìTimestampcủa Pandas - Gửi dữ liệu qua API/network yêu cầu format chuẩn Python
Lưu ý: Kết quả là numpy.ndarray với dtype=object, mỗi phần tử là datetime.datetime. Khác với to_numpy() trả về datetime64[ns].