หากต้องการสร้างออบเจ็กต์ TimeDeltaIndex ใน Pandas สามารถใช้เมธอด pandas.TimedeltaIndex()
ขั้นตอนการทำงาน
1. นำเข้าไลบรารีที่จำเป็น
import pandas as pd
2. สร้าง TimeDeltaIndex จากข้อมูล timedelta-like
tdIndex = pd.TimedeltaIndex(data=[
'10 day 5h 2 min 3us 10ns',
'+22:39:19.999999',
'2 day 4h 03:08:02.000045',
'+21:15:45.999999'
])
3. แสดง TimeDeltaIndex
print("TimedeltaIndex...\n", tdIndex)
4. ดึง DataFrame ส่วนประกอบ (Optional)
print("\nDataFrame ของส่วนประกอบ TimeDeltas...\n", tdIndex.components)
ตัวอย่างโค้ดสมบูรณ์
import pandas as pd
# สร้าง TimeDeltaIndex object
tdIndex = pd.TimedeltaIndex(data=[
'10 day 5h 2 min 3us 10ns',
'+22:39:19.999999',
'2 day 4h 03:08:02.000045',
'+21:15:45.999999'
])
# แสดง TimedeltaIndex
print("TimedeltaIndex...\n", tdIndex)
# แสดงจำนวนวันจากแต่ละองค์ประกอบ
print("\nจำนวนวันจาก TimeDeltaIndex...\n", tdIndex.days)
# แสดงจำนวนวินาทีจากแต่ละองค์ประกอบ
print("\nจำนวนวินาทีจาก TimeDeltaIndex...\n", tdIndex.seconds)
# แสดงจำนวนไมโครวินาทีจากแต่ละองค์ประกอบ
print("\nจำนวนไมโครวินาทีจาก TimeDeltaIndex...\n", tdIndex.microseconds)
# ดึง DataFrame ของส่วนประกอบ TimeDeltas
print("\nDataFrame ของส่วนประกอบ TimeDeltas...\n", tdIndex.components)
ผลลัพธ์ที่คาดหวัง
TimedeltaIndex... TimedeltaIndex(['10 days 05:02:00.000003010', '0 days 22:39:19.999999', '2 days 07:08:02.000045', '0 days 21:15:45.999999'], dtype='timedelta64[ns]', freq=None)
จำนวนวันจาก TimeDeltaIndex... Int64Index([10, 0, 2, 0], dtype='int64')
จำนวนวินาทีจาก TimeDeltaIndex... Int64Index([18120, 81559, 25682, 76545], dtype='int64')
จำนวนไมโครวินาทีจาก TimeDeltaIndex... Int64Index([3, 999999, 45, 999999], dtype='int64')
DataFrame ของส่วนประกอบ TimeDeltas...
days hours minutes seconds milliseconds microseconds nanoseconds
0 10 5 2 0 0 3 10
1 0 22 39 19 999 999 0
2 2 7 8 2 0 45 0
3 0 21 15 45 999 999 0
รูปแบบข้อมูลที่รองรับ:
'10 day 5h 2 min 3us 10ns'- รูปแบบ verbose'+22:39:19.999999'- รูปแบบ HH:MM:SS.microseconds'2 day 4h 03:08:02.000045'- ผสมผสานtimedelta objects- ออบเจ็กต์ datetime.timedelta โดยตรงnumpy.timedelta64- NumPy timedelta
คุณสมบัติที่มีประโยชน์อื่นๆ
.days- วันเต็ม.seconds- วินาทีในวัน (0-86399).microseconds- ไมโครวินาที (0-999999).nanoseconds- นาโนวินาที (0-999).components- DataFrame แยกส่วนประกอบทั้งหมด.to_pytimedelta()- แปลงเป็น list ของ datetime.timedelta