Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python Pandas: Tạo DataFrame từ TimeDeltaIndex bỏ qua index gốc

Phương thức TimeDeltaIndex.to_frame() trong Pandas chuyển đổi TimeDeltaIndex thành DataFrame. Tham số index=False bỏ qua index gốc, không đưa vào DataFrame kết quả.

Các bước thực hiện

1. Import thư viện

import pandas as pd

2. Tạo TimeDeltaIndex

tdIndex = pd.TimedeltaIndex(data=[
    '4 day 8h 20min 35us 45ns',
    '+17:42:19.999999',
    '9 day 3h 08:16:02.000055',
    '+22:35:25.000075'
])

3. Hiển thị TimeDeltaIndex

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

4. Chuyển thành DataFrame, bỏ index gốc

print("\nTimeDeltaIndex to DataFrame...\n", tdIndex.to_frame(index=False))

Ví dụ hoàn chỉnh

import pandas as pd

tdIndex = pd.TimedeltaIndex(data=[
    '4 day 8h 20min 35us 45ns',
    '+17:42:19.999999',
    '9 day 3h 08:16:02.000055',
    '+22:35:25.000075'
])
print("TimedeltaIndex...\n", tdIndex)
print("\nDataframe các thành phần TimeDeltas...\n", tdIndex.components)
print("\nTimeDeltaIndex to DataFrame...\n", tdIndex.to_frame(index=False))

Kết quả đầu ra

TimedeltaIndex...
TimedeltaIndex(['4 days 08:20:00.000035045', '0 days 17:42:19.999999', 
                '9 days 11:16:02.000055', '0 days 22:35:25.000075'], 
               dtype='timedelta64[ns]', freq=None)
Dataframe các thành phần TimeDeltas...
    days  hours  minutes  seconds  milliseconds  microseconds  nanoseconds
0      4      8       20        0             0            35           45
1      0     17       42       19           999           999            0
2      9     11       16        2             0            55            0
3      0     22       35       25             0            75            0
TimeDeltaIndex to DataFrame...
            0
0 4 days 08:20:00.000035045
1 0 days 17:42:19.999999
2 9 days 11:16:02.000055
3 0 days 22:35:25.000075

Giải thích:

  • index=False: DataFrame kết quả có index mặc định 0,1,2,3 (không dùng index của TimeDeltaIndex)
  • Tên cột mặc định là 0 (số nguyên)
  • Cột duy nhất chứa giá trị Timedelta đầy đủ

So sánh index=True vs index=False

# index=True (mặc định)
tdIndex.to_frame(index=True)
#    index                            0
# 0      0  4 days 08:20:00.000035045
# 1      1  0 days 17:42:19.999999
# ...

# index=False
tdIndex.to_frame(index=False)
#             0
# 0  4 days 08:20:00.000035045
# 1  0 days 17:42:19.999999
# ...