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

Python Pandas - Cách thực hiện thao tác sàn trên DateTimeIndex với tần suất nhỏ

Để thực hiện hoạt động sàn trên DateTimeIndex với tần suất nhỏ, hãy sử dụng DateTimeIndex.floor () phương pháp. Đối với tần suất nhỏ nhất, hãy sử dụng tần suất tham số có giá trị ‘T’ .

Đầ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à giây -

datetimeindex = pd.date_range('2021-10-18 07:20:32.261811624', periods=5,
tz='Australia/Adelaide', freq='40S')

Hiển thị DateTimeIndex -

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

Hoạt động của sàn vào ngày DateTimeIndex với tần suất phút. Đối với tần số phút, chúng tôi đã sử dụng 'T' -

print("\nPerforming floor operation with minute frequency...\n",
datetimeindex.floor(freq='T'))

Ví dụ

Sau đây là mã -

import pandas as pd

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

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

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

# getting the minute
res = datetimeindex.minute

# display only the minute
print("\nThe minute from DateTimeIndex...\n", res)

# Floor operation on DateTimeIndex date with minute frequency
# For minute frequency, we have used 'T'
print("\nPerforming floor operation with minute frequency...\n",
datetimeindex.floor(freq='T'))

Đầu ra

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

DateTimeIndex...
DatetimeIndex(['2021-10-18 07:20:32.261811624+10:30',
'2021-10-18 07:21:12.261811624+10:30',
'2021-10-18 07:21:52.261811624+10:30',
'2021-10-18 07:22:32.261811624+10:30',
'2021-10-18 07:23:12.261811624+10:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq='40S')
DateTimeIndex frequency...
<40 * Seconds>

The minute from DateTimeIndex...
Int64Index([20, 21, 21, 22, 23], dtype='int64')
Performing floor operation with minute frequency...
DatetimeIndex(['2021-10-18 07:20:00+10:30', '2021-10-18 07:21:00+10:30',
'2021-10-18 07:21:00+10:30', '2021-10-18 07:22:00+10:30',
'2021-10-18 07:23:00+10:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq=None)