Computer >> Máy Tính >  >> Lập trình >> Python

Python Pandas - Tạo một Chuỗi từ TimeDeltaIndex và đặt chỉ mục của Chuỗi kết quả

Sử dụng to_series () để tạo một chuỗi từ TimeDeltaIndex trong Pandas. Chỉ mục tham số được sử dụng để đặt chỉ mục của chuỗi kết quả.

Đầu tiên, hãy nhập các thư viện được yêu cầu -

import pandas as pd

Tạo một đối tượng TimeDeltaIndex. Chúng tôi đã đặt dữ liệu giống thời gian bằng cách sử dụng tham số 'data' -

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'])

Hiển thị TimedeltaIndex -

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

Chuyển TimeDeltaIndex thành Chuỗi và đặt chỉ số của chuỗi kết quả. Chúng tôi đã đặt chỉ mục bằng cách sử dụng tham số "index" -

print("\nTimeDeltaIndex to series with new index...\n",
tdIndex.to_series(index=['Date1','Date2','Date3','Date4']))

Ví dụ

Sau đây là mã -

import pandas as pd

# Create a TimeDeltaIndex object
# We have set the timedelta-like data using the 'data' parameter
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'])

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

# Return a dataframe of the components of TimeDeltas
print("\nThe Dataframe of the components of TimeDeltas...\n", tdIndex.components)

# Return TimeDeltaIndex as object ndarray
print("\nReturn TimeDeltaIndex as object ndarray of datetime.datetime objects...\n",
tdIndex.to_pytimedelta())

# Convert TimeDeltaIndex to Series and set the index of the resulting series
# We have set the index using the "index" parameter
print("\nTimeDeltaIndex to series with new index...\n",
tdIndex.to_series(index=['Date1','Date2','Date3','Date4']))

Đầu ra

Điều này sẽ tạo ra mã sau -

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)

The Dataframe of the components of TimeDeltas...
   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

Return TimeDeltaIndex as object ndarray of datetime.datetime objects...
[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 to series with new index...
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]