Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python Pandas - วิธีดำเนินการ Ceil บน DateTimeIndex ด้วยความถี่มิลลิวินาที

บทนำ

การดำเนินการ ceil (ปัดขึ้น) บน DateTimeIndex ด้วยความถี่มิลลิวินาที สามารถทำได้โดยใช้เมธอด DateTimeIndex.ceil() โดยระบุพารามิเตอร์ freq เป็น 'ms'

ขั้นตอนการทำงาน

1. นำเข้าไลบรารีที่จำเป็น

import pandas as pd

2. สร้าง DateTimeIndex

สร้าง DateTimeIndex ที่มี 5 ช่วงเวลา ความถี่ 40 วินาที และเขตเวลา Australia/Adelaide

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

3. ดำเนินการ Ceil ด้วยความถี่มิลลิวินาที

print("\nPerforming ceil operation with milliseconds frequency...\n", datetimeindex.ceil(freq='ms'))

ตัวอย่างโค้ดเต็ม

import pandas as pd

# DateTimeIndex with period 5 and frequency as 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)

# Ceil operation on DateTimeIndex date with milliseconds frequency
# For milliseconds frequency, we have used 'ms'
print("\nPerforming ceil operation with milliseconds frequency...\n", datetimeindex.ceil(freq='ms'))

ผลลัพธ์

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>

Performing ceil operation with milliseconds frequency...
DatetimeIndex(['2021-10-18 07:20:32.262000+10:30', '2021-10-18 07:21:12.262000+10:30',
               '2021-10-18 07:21:52.262000+10:30', '2021-10-18 07:22:32.262000+10:30',
               '2021-10-18 07:23:12.262000+10:30'],
              dtype='datetime64[ns, Australia/Adelaide]', freq=None)

คำอธิบายผลลัพธ์

ค่ามิลลิวินาทีถูกปัดขึ้นจาก .261811624 เป็น .262000 ในทุกแถว เนื่องจากการทำงานของ ceil() จะปัดค่าขึ้นไปยังมิลลิวินาทีถัดไป