Thuộc tính offset.nanos trong Pandas trả về số nanosecond (nanos) trong đối tượng DateOffset. Đây là biểu diễn nội bộ của offset dưới dạng nanosecond.
Các bước thực hiện
1. Import thư viện
from pandas.tseries.frequencies import to_offset
import pandas as pd
2. Thiết lập timestamp
timestamp = pd.Timestamp('2021-08-30 03:08:02.000045')
3. Tạo DateOffset (5 ngày)
offset = to_offset("5D")
4. Hiển thị timestamp cập nhật
print("\nUpdated Timestamp...\n", timestamp + offset)
5. Lấy số nanosecond
print("\nSố nanosecond trong DateOffset object..\n", offset.nanos)
Ví dụ hoàn chỉnh
from pandas.tseries.frequencies import to_offset
import pandas as pd
timestamp = pd.Timestamp('2021-08-30 03:08:02.000045')
print("Timestamp...\n", timestamp)
offset = to_offset("5D")
print("\nDateOffset...\n", offset)
print("\nUpdated Timestamp...\n", timestamp + offset)
print("\nSố nanosecond trong DateOffset object..\n", offset.nanos)
Kết quả đầu ra
Timestamp...
2021-08-30 03:08:02.000045
DateOffset...
<5 * Days>
Updated Timestamp...
2021-09-04 03:08:02.000045
Số nanosecond trong DateOffset object..
432000000000000
Giải thích:
- 1 ngày = 24 giờ × 60 phút × 60 giây × 1,000,000,000 nanosecond = 86,400,000,000,000 ns
- 5 ngày = 5 × 86,400,000,000,000 = 432,000,000,000,000 ns
- Kết quả khớp chính xác:
432000000000000
Lưu ý: Thuộc tính nanos chỉ hoạt động với các offset có độ dài cố định (fixed frequency) như Day, Hour, Minute, Second. Với MonthEnd, BusinessDay (độ dài thay đổi), nanos sẽ trả về None hoặc gây lỗi.