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

Python Pandas - Trích xuất Số ngày cho mỗi phần tử từ TimeDeltaIndex

Để trích xuất Số ngày cho mỗi phần tử từ đối tượng TimeDeltaIndex, hãy sử dụng TimedeltaIndex.days tài sản.

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

Hiển thị TimedeltaIndex -

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

Hiển thị số ngày từ mỗi phần tử của TimeDeltaIndex -

print("\nThe number of days from the TimeDeltaIndex object...\n", tdIndex.days)

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)

# display the number of days from each element of TimeDeltaIndex
print("\nThe number of days from the TimeDeltaIndex object...\n", tdIndex.days)

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

Đầ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 number of days from the TimeDeltaIndex object...
Int64Index([10, 0, 2, 0], dtype='int64')

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