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

Python Pandas - สร้าง TimeDeltaIndex Object

หากต้องการสร้างออบเจ็กต์ 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