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

Python Pandas - ส่งคืนตำแหน่งดัชนีของค่าระหว่างช่วงเวลาเฉพาะของวันรวมถึงเวลาเริ่มต้นใน DateTimeIndex


ในการส่งคืนตำแหน่งดัชนีของค่าระหว่างช่วงเวลาเฉพาะของวันใน DateTimeIndex ให้ใช้ DateTimeIndex.indexer_between_time() กระบวนการ. ตั้งค่า include_start พารามิเตอร์เป็น จริง เพื่อรวมเวลาเริ่มต้น

ขั้นแรก นำเข้าไลบรารีที่จำเป็น -

นำเข้าแพนด้าเป็น pd

สร้าง DatetimeIndex ด้วยช่วงเวลา 7 และความถี่เป็น T เช่น นาที -

datetimeindex =pd.date_range('2021-10-30 02:30:50', periods=7, tz='Australia/Adelaide', freq='20T')

แสดง DateTimeIndex -

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

แสดงตำแหน่งดัชนีของค่าระหว่างช่วงเวลาเฉพาะของวัน "start_time" ถูกตั้งค่าเป็น '02:30:50' และ "end_time" '03:20:50' ตั้งค่าพารามิเตอร์ include_start เป็น True -

print("\nดัชนีตำแหน่งของค่าระหว่างช่วงเวลาเฉพาะของวัน...\n",datetimeindex.indexer_between_time('03:10:50','03:50:50', include_start =True)) 

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

นำเข้าแพนด้าเป็น pd# DatetimeIndex โดยมีจุด 7 และความถี่เป็น T เช่น minutes# เขตเวลาคือ Australia/Adelaidedatetimeindex =pd.date_range('2021-10-30 02:30:50', periods=7, tz=' ออสเตรเลีย/แอดิเลด', freq='20T')# display DateTimeIndexprint("DateTimeIndex...\n", datetimeindex)# display DateTimeIndex frequencyprint("\nDateTimeIndex frequency...\n", datetimeindex.freq)# แสดงตำแหน่งดัชนี ของค่า ณ ช่วงเวลาหนึ่งของวัน เช่น 03:10:50 ที่นี่print("\nดัชนีตำแหน่งของค่า ณ ช่วงเวลาหนึ่งของวัน...\n",datetimeindex.indexer_at_time('2021-10-30 03:10:50') )# แสดงตำแหน่งดัชนีของค่าระหว่างช่วงเวลาเฉพาะของวัน # "start_time" ถูกตั้งค่าเป็น '02:30:50' และ "end_time" '03:20:50'print("\nดัชนีตำแหน่งของค่าระหว่างช่วงเวลาเฉพาะของวัน ...\n",datetimeindex.indexer_between_time('03:10:50','03:50:50', include_start =True))

ผลลัพธ์

สิ่งนี้จะสร้างรหัสต่อไปนี้ -

DateTimeIndex...DatetimeIndex(['2021-10-30 02:30:50+10:30', '2021-10-30 02:50:50+10:30','2021-10-30' 03:10:50+10:30', '2021-10-30 03:30:50+10:30','2021-10-30 03:50:50+10:30', '2021-10- 30 04:10:50+10:30','2021-10-30 04:30:50+10:30'],dtype='datetime64[ns, Australia/Adelaide]', freq='20T')DateTimeIndex ความถี่...<20 * นาที>ดัชนีตำแหน่งของค่า ณ ช่วงเวลาหนึ่งของวัน...[2]ดัชนีตำแหน่งของค่าระหว่างช่วงเวลาเฉพาะของวัน...[2 3 4]