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

Python Pandas - แยกจำนวนวินาทีสำหรับแต่ละองค์ประกอบจาก TimeDeltaIndex


หากต้องการแยกจำนวนวินาทีสำหรับแต่ละองค์ประกอบจากวัตถุ TimeDeltaIndex ให้ใช้ TimedeltaIndex.seconds ทรัพย์สิน

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

import pandas as pd

สร้างวัตถุ TimeDeltaIndex เราได้ตั้งค่าข้อมูลที่เหมือนไทม์เดลต้าโดยใช้พารามิเตอร์ 'data' ด้วย -

tdIndex = pd.TimedeltaIndex(data =['10 day 5h 2 min 35s 3us 10ns', '+22:39:19.999999',
'2 day 4h 03:08:02.000045', '+21:15:45.999999'])

แสดง TimedeltaIndex -

print("TimedeltaIndex...\n", tdIndex)

แสดงจำนวนวินาทีจากแต่ละองค์ประกอบของ TimeDeltaIndex -

print("\nThe number of seconds from the TimeDeltaIndex object...\n", tdIndex.seconds)

ตัวอย่าง

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

import pandas as pd

# Create a TimeDeltaIndex object
# We have set the timedelta-like data using the 'data' parameter as well
tdIndex = pd.TimedeltaIndex(data =['10 day 5h 2 min 35s 3us 10ns', '+22:39:19.999999',
'2 day 4h 03:08:02.000045', '+21:15:45.999999'])

# display TimedeltaIndex
print("TimedeltaIndex...\n", tdIndex)

# display the number of seconds from each element of TimeDeltaIndex
print("\nThe number of seconds from the TimeDeltaIndex object...\n", tdIndex.seconds)

# Return a dataframe of the components of TimeDeltas
print("\nThe Dataframe of the components of TimeDeltas...\n", tdIndex.components)

ผลลัพธ์

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

TimedeltaIndex...
TimedeltaIndex(['10 days 05:02:35.000003010', '0 days 22:39:19.999999',
'2 days 07:08:02.000045', '0 days 21:15:45.999999'],
dtype='timedelta64[ns]', freq=None)

The number of seconds from the TimeDeltaIndex object...
Int64Index([18155, 81559, 25682, 76545], dtype='int64')

The Dataframe of the components of TimeDeltas...
   days    hours minutes seconds milliseconds microseconds nanoseconds
0    10    5       2      35        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