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

Python Pandas - Return TimeDeltaIndex dưới dạng mảng đối tượng của các đối tượng datetime.datetime

Để trả về TimeDeltaIndex dưới dạng mảng đối tượng của các đối tượng datetime.datetime, hãy sử dụng TimeDeltaIndex.to_pytimedelta () phương pháp.

Đầ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 cũng đã đặ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'])

Return TimeDeltaIndex dưới dạng object ndarray -

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

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 as well
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())

Đầ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)]