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

Python Pandas - Trích xuất số nano-giây từ TimeDeltaIndex

Để trích xuất số nano-giây từ mỗi phần tử của TimeDeltaIndex, hãy sử dụng thuộc tính TimedeltaIndex.nanoseconds.

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

1. Import thư viện

import pandas as pd

2. Tạo TimeDeltaIndex

tdIndex = pd.TimedeltaIndex(data=[
    '10 day 5h 2 min 35s 3us 10ns',
    '+22:39:19.999999',
    '2 day 4h 03:08:02.000045',
    '+21:15:45.999999'
])

3. Hiển thị TimedeltaIndex

print("TimedeltaIndex...\n", tdIndex)

4. Trích xuất nano-giây

print("\nSố nano-giây từ mỗi phần tử...\n", tdIndex.nanoseconds)

Ví dụ hoàn chỉnh

import pandas as pd

tdIndex = pd.TimedeltaIndex(data=[
    '10 day 5h 2 min 35s 3us 10ns',
    '+22:39:19.999999',
    '2 day 4h 03:08:02.000045',
    '+21:15:45.999999'
])

print("TimedeltaIndex...\n", tdIndex)
print("\nSố nano-giây từ mỗi phần tử...\n", tdIndex.nanoseconds)
print("\nDataFrame các thành phần của TimeDeltas...\n", tdIndex.components)

Kết quả đầu ra

TimedeltaIndex...
TimedeltaIndex(['10 days 05:02:35.000003010', '0 days 22:39:19.999999',
                '2 days 07:08:02.000045', '0 days 21:15:45.999999'],
               dtype='timedelta64[ns]', freq=None)

Số nano-giây từ TimeDeltaIndex...
Int64Index([10, 0, 0, 0], dtype='int64')

DataFrame các thành phần của TimeDeltas...
    days  hours  minutes  seconds  milliseconds  microseconds  nanoseconds
0    10      5        2       35             0             3           10
1     0     22       39       19           999           999            0
2     2      7        8        2             0            45            0
3     0     21       15       45           999           999            0

Lưu ý quan trọng: Thuộc tính nanoseconds chỉ trả về phần nano-giây dư sau khi đã trừ đi các đơn vị lớn hơn (micro-giây, mili-giây, giây...). Trong ví dụ, chỉ phần tử đầu tiên có nano-giây = 10, các phần tử còn lại = 0 vì chúng được biểu diễn chính xác bằng micro-giây.