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

Python Pandas: Hiển thị thời gian kết thúc kỳ từ PeriodIndex object

Thuộc tính PeriodIndex.end_time trong Pandas trả về DatetimeIndex chứa thời gian kết thúc (end time) của từng kỳ (period) trong PeriodIndex object.

Các bước thực hiện

1. Import thư viện

import pandas as pd

2. Tạo PeriodIndex tần suất ngày

periodIndex = pd.PeriodIndex(
    ['2018-07-25', '2019-10-30', '2020-11-20', 
     '2021-09-15', '2022-03-12', '2023-06-18'], 
    freq="D"
)

3. Hiển thị PeriodIndex

print("PeriodIndex...\n", periodIndex)

4. Lấy thời gian kết thúc

print("\nEnd Time...\n", periodIndex.end_time)

Ví dụ hoàn chỉnh

import pandas as pd

periodIndex = pd.PeriodIndex(
    ['2018-07-25', '2019-10-30', '2020-11-20', 
     '2021-09-15', '2022-03-12', '2023-06-18'], 
    freq="D"
)
print("PeriodIndex...\n", periodIndex)
print("\nPeriodIndex frequency...\n", periodIndex.freq)
print("\nEnd Time...\n", periodIndex.end_time)

Kết quả đầu ra

PeriodIndex...
PeriodIndex(['2018-07-25', '2019-10-30', '2020-11-20', '2021-09-15', '2022-03-12', '2023-06-18'], dtype='period[D]')
PeriodIndex frequency...
<Day>
End Time...
DatetimeIndex(['2018-07-25 23:59:59.999999999', '2019-10-30 23:59:59.999999999', 
               '2020-11-20 23:59:59.999999999', '2021-09-15 23:59:59.999999999', 
               '2022-03-12 23:59:59.999999999', '2023-06-18 23:59:59.999999999'], 
              dtype='datetime64[ns]', freq=None)

Giải thích:

  • Tần suất D (Day) → mỗi period là 1 ngày
  • end_time trả về cuối ngày: 23:59:59.999999999 (nanosecond precision)
  • Kết quả là DatetimeIndex (không phải PeriodIndex)

So sánh start_time vs end_time

Thuộc tính Ý nghĩa Ví dụ (freq='D')
start_time Thời gian bắt đầu kỳ 2021-09-25 00:00:00
end_time Thời gian kết thúc kỳ 2021-09-25 23:59:59.999999999

Ứng dụng: Dùng end_time để lọc dữ liệu trong khoảng thời gian chính xác của period, ví dụ: df[(df.time >= period.start_time) & (df.time <= period.end_time)].