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

Python Pandas - สร้างซีรี่ส์จาก TimeDeltaIndex และตั้งค่าดัชนีของ Series ที่ได้


ใช้ to_series() วิธีการสร้างซีรีส์จาก TimeDeltaIndex ใน Pandas ดัชนี พารามิเตอร์ใช้เพื่อกำหนดดัชนีของอนุกรมผลลัพธ์

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

import pandas as pd

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

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)

แปลง TimeDeltaIndex เป็น Series และตั้งค่าดัชนีของอนุกรมผลลัพธ์ เราได้ตั้งค่าดัชนีโดยใช้พารามิเตอร์ "ดัชนี" -

print("\nTimeDeltaIndex to series with new index...\n",
tdIndex.to_series(index=['Date1','Date2','Date3','Date4']))

ตัวอย่าง

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

import pandas as pd

# Create a TimeDeltaIndex object
# We have set the timedelta-like data using the 'data' parameter
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'])

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

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

# Return TimeDeltaIndex as object ndarray
print("\nReturn TimeDeltaIndex as object ndarray of datetime.datetime objects...\n",
tdIndex.to_pytimedelta())

# Convert TimeDeltaIndex to Series and set the index of the resulting series
# We have set the index using the "index" parameter
print("\nTimeDeltaIndex to series with new index...\n",
tdIndex.to_series(index=['Date1','Date2','Date3','Date4']))

ผลลัพธ์

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

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)

The Dataframe of the components of 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

Return TimeDeltaIndex as object ndarray of datetime.datetime objects...
[datetime.timedelta(days=10, seconds=18120, microseconds=3)
datetime.timedelta(seconds=81559, microseconds=999999)
datetime.timedelta(days=2, seconds=25682, microseconds=45)
datetime.timedelta(seconds=76545, microseconds=999999)]

TimeDeltaIndex to series with new index...
Date1 10 days 05:02:00.000003010
Date2 0 days 22:39:19.999999
Date3 2 days 07:08:02.000045
Date4 0 days 21:15:45.999999
dtype: timedelta64[ns]