คำอธิบาย
ใช้เมธอด DateTimeIndex.snap() เพื่อ "ยึด" (snap) ตimestamp ให้ตรงกับความถี่ที่ใกล้ที่สุด ระบุผ่านพารามิเตอร์ freq
ตัวอย่าง
สร้าง DateTimeIndex ความถี่รายวัน (freq='D') แล้ว snap ให้ตรงสิ้นเดือน (freq='M')
การตนการทำงาน (Python)
import pandas as pd
# DateTimeIndex 6 วัน ตั้งแต่ 2021-10-20
datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=6, tz='Australia/Adelaide', freq='D')
print("DateTimeIndex...\n", datetimeindex)
print("\nSnap time stamps to nearest occurring frequency...\n", datetimeindex.snap(freq='M'))
ผลลัพธ์
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')
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)
หมายเหตุ
- ทุก timestamp ถูก "ดึง" ไปยังวันสุดท้ายของเดือน (Month End)
- เหมาะสำหรับการปรับข้อมูลเวลาให้ตรงกับช่วงเวลามาตรฐาน (สิ้นเดือน, สิ้นไตรมาส, ฯลฯ)