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

Python Pandas - Tính toán TimedeltaArray chênh lệch giữa các giá trị chỉ mục và chỉ mục được chuyển đổi thành PeriodArray tại tần suất xác định

Để tính toán TimedeltaArray chênh lệch giữa các giá trị chỉ mục và chỉ mục được chuyển đổi thành PeriodArray tại tần suất được chỉ định, hãy sử dụng datetimeindex.to_perioddelta () phương pháp. Đặt tần suất bằng cách sử dụng freq tham số.

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

import pandas as pd

Tạo DatetimeIndex với chu kỳ 7 và tần suất là Y tức là năm -

datetimeindex = pd.date_range('2021-10-18 07:20:32.261811624', periods=5, freq='2Y')

Hiển thị DateTimeIndex -

print("DateTimeIndex...\n", datetimeindex)

Tính toán TimedeltaArray chênh lệch giữa các giá trị chỉ mục và chỉ mục được chuyển đổi thành PeriodArray. Chúng tôi đã đặt tần suất Khoảng thời gian bằng cách sử dụng tham số "freq" với giá trị 'M' -

print("\nConvert DateTimeIndex to PeriodDelta...\n",
datetimeindex.to_perioddelta(freq='M'))

Ví dụ

Sau đây là mã -

import pandas as pd

# DatetimeIndex with period 7 and frequency as Y i.e. year
# timezone is Australia/Adelaide
datetimeindex = pd.date_range('2021-10-18 07:20:32.261811624', periods=5, freq='2Y')

# display DateTimeIndex
print("DateTimeIndex...\n", datetimeindex)

# display DateTimeIndex frequency
print("DateTimeIndex frequency...\n", datetimeindex.freq)

# Convert DateTimeIndex to Period
# We have set the frequency as Month using the "freq" parameter with value 'M'
print("\nConvert DateTimeIndex to Period...\n",
datetimeindex.to_period(freq='M'))

# Calculate TimedeltaArray of difference between index values and index converted to PeriodArray
# We have set the Period frequency using the "freq" parameter with value 'M'
print("\nConvert DateTimeIndex to PeriodDelta...\n",
datetimeindex.to_perioddelta(freq='M'))

Đầu ra

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

DateTimeIndex...
DatetimeIndex(['2021-12-31 07:20:32.261811624',
'2023-12-31 07:20:32.261811624',
'2025-12-31 07:20:32.261811624',
'2027-12-31 07:20:32.261811624',
'2029-12-31 07:20:32.261811624'],
dtype='datetime64[ns]', freq='2A-DEC')
DateTimeIndex frequency...
<2 * YearEnds: month=12>

Convert DateTimeIndex to Period...
PeriodIndex(['2021-12', '2023-12', '2025-12', '2027-12', '2029-12'], dtype='period[M]')

Convert DateTimeIndex to PeriodDelta...
TimedeltaIndex(['30 days 07:20:32.261811624', '30 days 07:20:32.261811624',
'30 days 07:20:32.261811624', '30 days 07:20:32.261811624',
'30 days 07:20:32.261811624'],
dtype='timedelta64[ns]', freq=None)