บทนำ
ใช้ DateTimeIndex.round() กับ freq='ms' เพื่อปัดเศษเป็นหน่วยมิลลิวินาที
ขั้นตอน
1. นำเข้าไลบรารี
import pandas as pd
2. สร้าง DateTimeIndex ความถี่ 28 วินาที
datetimeindex = pd.date_range('2021-09-29 07:20:32.261811624', periods=5, tz='Australia/Adelaide', freq='28s')
3. ดำเนินการ Round ความถี่มิลลิวินาที
print("\nPerforming round operation with milliseconds frequency...\n", datetimeindex.round(freq='ms'))
ตัวอย่างโค้ดเต็ม
import pandas as pd
datetimeindex = pd.date_range('2021-09-29 07:20:32.261811624', periods=5, tz='Australia/Adelaide', freq='28s')
print("DateTimeIndex...\n", datetimeindex)
print("DateTimeIndex frequency...\n", datetimeindex.freq)
print("\nPerforming round operation with milliseconds frequency...\n", datetimeindex.round(freq='ms'))
ผลลัพธ์
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>
Performing round operation with milliseconds frequency...
DatetimeIndex(['2021-09-29 07:20:32.262000+09:30', '2021-09-29 07:21:00.262000+09:30',
'2021-09-29 07:21:28.262000+09:30', '2021-09-29 07:21:56.262000+09:30',
'2021-09-29 07:22:24.262000+09:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq=None)
คำอธิบาย
ค่าไมโครวินาทีถูกปัดเศษเป็นมิลลิวินาที: .261811624 → .262000 (เพราะ 811 ≥ 500) ไมโครวินาทีและนานโววินาทีถูกรีเซ็ตเป็นศูนย์