Để thay đổi tần suất của Period object từ giây sang phút, sử dụng phương thức period.asfreq() với tham số 'T' (hoặc 'min').
Các bước thực hiện
1. Import thư viện
import pandas as pd
2. Tạo Period với tần suất giây
period = pd.Period(freq="S", year=2021, month=9, day=11, hour=8, minute=20, second=45)
3. Chuyển sang tần suất phút
res = period.asfreq('T')
Ví dụ hoàn chỉnh
import pandas as pd
period = pd.Period(freq="S", year=2021, month=9, day=11, hour=8, minute=20, second=45)
print("Period (tần suất giây)...\n", period)
res = period.asfreq('T')
print("\nKết quả sau chuyển đổi tần suất (phút)...\n", res)
Kết quả đầu ra
Period (tần suất giây)...
2021-09-11 08:20:45
Kết quả sau chuyển đổi tần suất (phút)...
2021-09-11 08:20
Giải thích:
- Period gốc: tần suất 'S' = một giây cụ thể (08:20:45)
asfreq('T')chuyển sang tần suất 'T' = một phút cụ thể (08:20)- Khi chuyển sang tần suất **thô hơn** (lower frequency), Pandas cắt bớt phần chi tiết (giây)
- Đây là phép **truncate** (cắt ngắn), không phải làm tròn
Lưu ý: asfreq() khác với to_timestamp():
asfreq()trả về **Period** mới với tần suất khácto_timestamp()trả về **Timestamp** (điểm thời gian cụ thể)