Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python Pandas - Tạo DateTimeIndex và trích xuất các thành phần thời gian

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ínhKiểu trả vềMô tả
.yearInt64IndexNăm (số nguyên)
.monthInt64IndexTháng 1-12
.dayInt64IndexNgày 1-31
.hourInt64IndexGiờ 0-23
.minuteInt64IndexPhút 0-59
.secondInt64IndexGiâ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.