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

Python Pandas - Cách làm tròn DateTimeIndex với tần suất giây

Để làm tròn DateTimeIndex với tần suất giây, hãy sử dụng DateTimeIndex.round () phương pháp. Đối với tần suất giây, hãy sử dụng tần suất tham số có giá trị ‘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ỳ 5 và tần suất là giây -

datetimeindex = pd.date_range('2021-09-29 07:20:32.261811624', periods=5,
tz='Australia/Adelaide', freq='28s')

Hoạt động vòng trên ngày DateTimeIndex với tần suất giây. Đối với tần số giây, chúng tôi đã sử dụng 'S' -

print("\nPerforming round operation with seconds frequency...\n",
datetimeindex.round(freq='S'))

Ví dụ

Sau đây là mã -

import pandas as pd

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

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

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

# getting the second
res = datetimeindex.second

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

# Round operation on DateTimeIndex date with seconds frequency
# For seconds frequency, we have used 'S'
print("\nPerforming round operation with seconds frequency...\n",
datetimeindex.round(freq='S'))

Đầu ra

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

DateTimeIndex...
DatetimeIndex(['2021-09-29 07:20:32.261811624+09:30',
'2021-09-29 07:21:00.261811624+09:30',
'2021-09-29 07:21:28.261811624+09:30',
'2021-09-29 07:21:56.261811624+09:30',
'2021-09-29 07:22:24.261811624+09:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq='28S')
DateTimeIndex frequency...
<28 * Seconds>

The second from DateTimeIndex...
Int64Index([32, 0, 28, 56, 24], dtype='int64')

Performing round operation with seconds frequency...
DatetimeIndex(['2021-09-29 07:20:32+09:30', '2021-09-29 07:21:00+09:30',
'2021-09-29 07:21:28+09:30', '2021-09-29 07:21:56+09:30',
'2021-09-29 07:22:24+09:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq=None)