Hướng dẫn tạo DateTimeIndex bằng pd.date_range() và trích xuất các thành phần: ngày, tháng, năm, giờ, phút, giây.
Các bước thực hiện
1. Import thư viện
import pandas as pd
2. Tạo DateTimeIndex (tần suất tháng)
datetime = pd.date_range(
'2021-09-24 02:35:55',
periods=8,
tz='Australia/Sydney',
freq='M'
)
3. Hiển thị DateTimeIndex
print("DateTime...\n", datetime)
4. Trích xuất các thành phần
print("\nTên ngày trong tuần...\n", datetime.day_name())
print("\nTên tháng...\n", datetime.month_name())
print("\nNăm...\n", datetime.year)
print("\nGiờ...\n", datetime.hour)
print("\nPhút...\n", datetime.minute)
print("\nGiây...\n", datetime.second)
Ví dụ hoàn chỉnh
import pandas as pd
datetime = pd.date_range(
'2021-09-24 02:35:55',
periods=8,
tz='Australia/Sydney',
freq='M'
)
print("DateTime...\n", datetime)
print("\nTên ngày trong tuần...\n", datetime.day_name())
print("\nTên tháng...\n", datetime.month_name())
print("\nNăm...\n", datetime.year)
print("\nGiờ...\n", datetime.hour)
print("\nPhút...\n", datetime.minute)
print("\nGiây...\n", datetime.second)
Kết quả đầu ra
DateTime...
DatetimeIndex(['2021-09-30 02:35:55+10:00', '2021-10-31 02:35:55+11:00',
'2021-11-30 02:35:55+11:00', '2021-12-31 02:35:55+11:00',
'2022-01-31 02:35:55+11:00', '2022-02-28 02:35:55+11:00',
'2022-03-31 02:35:55+11:00', '2022-04-30 02:35:55+10:00'],
dtype='datetime64[ns, Australia/Sydney]', freq='M')
Tên ngày trong tuần...
Index(['Thursday', 'Sunday', 'Tuesday', 'Friday', 'Monday', 'Monday',
'Thursday', 'Saturday'], dtype='object')
Tên tháng...
Index(['September', 'October', 'November', 'December', 'January', 'February',
'March', 'April'], dtype='object')
Năm...
Int64Index([2021, 2021, 2021, 2021, 2022, 2022, 2022, 2022], dtype='int64')
Giờ...
Int64Index([2, 2, 2, 2, 2, 2, 2, 2], dtype='int64')
Phút...
Int64Index([35, 35, 35, 35, 35, 35, 35, 35], dtype='int64')
Giây...
Int64Index([55, 55, 55, 55, 55, 55, 55, 55], dtype='int64')
Tóm tắt các phương thức/truy xuất hữu ích
| Phương thức/Thuộc tính | Kiểu trả về | Mô tả |
|---|---|---|
.year | Int64Index | Năm (số nguyên) |
.month | Int64Index | Tháng 1-12 |
.day | Int64Index | Ngày 1-31 |
.hour | Int64Index | Giờ 0-23 |
.minute | Int64Index | Phút 0-59 |
.second | Int64Index | Giây 0-59 |
.day_name() | Index (object) | Tên thứ: 'Monday'... |
.month_name() | Index (object) | Tên tháng: 'January'... |
.strftime(fmt) | Index (object) | Format tùy chỉnh (ví dụ: '%Y-%m-%d') |
Lưu ý: day_name() và month_name() trả về chuỗi (dtype=object), các thuộc tính khác trả về Int64Index (số nguyên) - hiệu quả hơn cho tính toán/so sánh.