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

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

บทนำ

การดำเนินการ ceil (ปัดขึ้น) บน DateTimeIndex ด้วยความถี่วินาที ใช้เมธอด DateTimeIndex.ceil() โดยตั้งค่าพารามิเตอร์ freq='S'

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

1. นำเข้าไลบรารี

import pandas as pd

2. สร้าง DateTimeIndex

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

3. แสดง DateTimeIndex และความถี่

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

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

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

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

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)

# getting the second
res = datetimeindex.second
print("\nThe second from DateTimeIndex...\n", res)

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

ผลลัพธ์

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>

The second from DateTimeIndex...
Int64Index([32, 12, 52, 32, 12], dtype='int64')

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

คำอธิบาย

ค่าวินาทีถูกปัดขึ้น: 32.261811624 → 33, 12.261811624 → 13, 52.261811624 → 53 ส่วนไมโครวินาทีและแมนติสซ่าถูกลบออก