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

Python Pandas - สร้าง Series จาก TimeDeltaIndex และกำหนดชื่อ Series

ใช้เมธอด to_series() เพื่อสร้าง Series จาก TimeDeltaIndex ใน Pandas พารามิเตอร์ name ใช้สำหรับกำหนดชื่อของ Series ที่ได้

ขั้นตอนการทำงาน

1. นำเข้าไลบรารีที่จำเป็น

import pandas as pd

2. สร้างอ็อบเจ็กต์ TimeDeltaIndex

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. แปลง TimeDeltaIndex เป็น Series พร้อมกำหนดชื่อ Series

print("\nTimeDeltaIndex to series...\n", tdIndex.to_series(name="DateTime Data"))

ตัวอย่างโค้ดสมบูรณ์

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)

# แสดงคอมโพเนนต์ของ TimeDeltas
print("\nThe Dataframe of the components of TimeDeltas...\n", tdIndex.components)

# แปลง TimeDeltaIndex เป็น object ndarray
print("\nReturn TimeDeltaIndex as object ndarray of datetime.datetime objects...\n", tdIndex.to_pytimedelta())

# แปลง TimeDeltaIndex เป็น Series พร้อมกำหนดชื่อ
print("\nTimeDeltaIndex to series...\n", tdIndex.to_series(name="DateTime Data"))

ผลลัพธ์ที่คาดหวัง

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...
10 days 05:02:00.000003010
0 days 22:39:19.999999
2 days 07:08:02.000045
0 days 21:15:45.999999
Name: DateTime Data, dtype: timedelta64[ns]

หมายเหตุ: การกำหนดชื่อผ่านพารามิเตอร์ name จะช่วยให้ระบุ Series ได้ง่ายขึ้นเมื่อทำงานกับ DataFrame หลายคอลัมน์