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

Python Pandas - Tạo Series từ TimeDeltaIndex và đặt chỉ mục

Sử dụng phương thức to_series() để tạo Series từ TimeDeltaIndex trong Pandas. Tham số index được dùng để đặt chỉ mục (index) cho Series kết quả.

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 3us 10ns',
    '+22:39:19.999999',
    '2 day 4h 03:08:02.000045',
    '+21:15:45.999999'
])

4. Chuyển đổi sang Series với chỉ mục tùy chỉnh

print("\nTimeDeltaIndex thành Series với chỉ mục mới...\n",
      tdIndex.to_series(index=['Date1', 'Date2', 'Date3', 'Date4']))

Ví dụ hoàn chỉnh

import pandas as pd

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

print("TimeDeltaIndex...\n", tdIndex)
print("\nDataFrame các thành phần...\n", tdIndex.components)
print("\nTimeDeltaIndex dạng mảng đối tượng...\n", tdIndex.to_pytimedelta())
print("\nTimeDeltaIndex thành Series với chỉ mục mới...\n",
      tdIndex.to_series(index=['Date1', 'Date2', 'Date3', 'Date4']))

Kết quả đầu ra

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

DataFrame các thành phần...
   days  hours  minutes  seconds  milliseconds  microseconds  nanoseconds
0    10      5        2        0             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

TimeDeltaIndex dạng mảng đối tượng...
[datetime.timedelta(days=10, seconds=18120, microseconds=3),
 datetime.timedelta(seconds=81559, microseconds=999999),
 datetime.timedelta(days=2, seconds=25682, microseconds=45),
 datetime.timedelta(seconds=76545, microseconds=999999)]

TimeDeltaIndex thành Series với chỉ mục mới...
Date1    10 days 05:02:00.000003010
Date2     0 days 22:39:19.999999
Date3     2 days 07:08:02.000045
Date4     0 days 21:15:45.999999
dtype: timedelta64[ns]

Lưu ý: Độ dài của danh sách index phải khớp với độ dài của TimeDeltaIndex. Series kết quả giữ dtype là timedelta64[ns].