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_timetrả 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)].