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

Python Pandas: Trả về số nanosecond trong DateOffset object

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.