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

Gấu trúc Python - Gắn dấu thời gian trong DateTimeIndex về tần suất xuất hiện gần nhất

Để gắn dấu thời gian trong DateTimeIndex về tần suất xuất hiện gần nhất, hãy sử dụng DateTimeIndex.snap () 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 một DatetimeIndex với chu kỳ 6 và tần suất là D tức là ngày -

datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=6, tz='Australia/Adelaide', freq='D')

Hiển thị DateTimeIndex -

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

Gắn tem thời gian đến gần nhất, tức là kết thúc tháng tại đây -

print("\nSnap time stamps to nearest occurring frequency...\n",
datetimeindex.snap(freq='M'))

Ví dụ

Sau đây là mã -

import pandas as pd

# DatetimeIndex with period 6 and frequency as D i.e. day
# The timezone is Australia/Adelaide
datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=6, tz='Australia/Adelaide', freq='D')

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

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

# Snap time stamps to nearest occurring i.e. Month end here
print("\nSnap time stamps to nearest occurring frequency...\n",
datetimeindex.snap(freq='M'))

Đầu ra

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

DateTimeIndex...
DatetimeIndex(['2021-10-20 02:30:50+10:30', '2021-10-21 02:30:50+10:30',
'2021-10-22 02:30:50+10:30', '2021-10-23 02:30:50+10:30',
'2021-10-24 02:30:50+10:30', '2021-10-25 02:30:50+10:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq='D')
DateTimeIndex frequency...
<Day>

Snap time stamps to nearest occurring frequency...
DatetimeIndex(['2021-10-31 02:30:50+10:30', '2021-10-31 02:30:50+10:30',
'2021-10-31 02:30:50+10:30', '2021-10-31 02:30:50+10:30',
'2021-10-31 02:30:50+10:30', '2021-10-31 02:30:50+10:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq=None)