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

Python Pandas - Tạo DataFrame từ DateTimeIndex bỏ qua index

Để tạo DataFrame từ DateTimeIndex mà không sử dụng index gốc, dùng DateTimeIndex.to_frame(index=False).

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

1. Import thư viện

import pandas as pd

2. Tạo DateTimeIndex

datetimeindex = pd.date_range(
    '2021-10-18 07:20:32.261811624',
    periods=5,
    tz='Australia/Adelaide',
    freq='40S'
)

3. Hiển thị DateTimeIndex

print("DateTimeIndex...\n", datetimeindex)

4. Chuyển sang DataFrame bỏ qua index

print("\nDateTimeIndex to DataFrame...\n",
      datetimeindex.to_frame(index=False))

Ví dụ hoàn chỉnh

import pandas as pd

datetimeindex = pd.date_range(
    '2021-10-18 07:20:32.261811624',
    periods=5,
    tz='Australia/Adelaide',
    freq='40S'
)

print("DateTimeIndex...\n", datetimeindex)
print("\nDateTimeIndex frequency...\n", datetimeindex.freq)
print("\nDateTimeIndex to DataFrame...\n",
      datetimeindex.to_frame(index=False))

Kết quả đầu ra

DateTimeIndex...
DatetimeIndex(['2021-10-18 07:20:32.261811624+10:30',
               '2021-10-18 07:21:12.261811624+10:30',
               '2021-10-18 07:21:52.261811624+10:30',
               '2021-10-18 07:22:32.261811624+10:30',
               '2021-10-18 07:23:12.261811624+10:30'],
              dtype='datetime64[ns, Australia/Adelaide]', freq='40S')

DateTimeIndex frequency...
<40 * Seconds>

DateTimeIndex to DataFrame...
    0
0 2021-10-18 07:20:32.261811624+10:30
1 2021-10-18 07:21:12.261811624+10:30
2 2021-10-18 07:21:52.261811624+10:30
3 2021-10-18 07:22:32.261811624+10:30
4 2021-10-18 07:23:12.261811624+10:30

So sánh

Tham sốKết quả
index=True (mặc định)DateTimeIndex thành index của DataFrame, cột mang tên index.name hoặc 0
index=FalseDateTimeIndex thành cột dữ liệu, index mới là RangeIndex(0,1,2...)

Khi nào dùng index=False? Khi cần DataFrame "phẳng" để export CSV, join với DataFrame khác trên cột, hoặc xử lý bằng các công cụ không hỗ trợ MultiIndex/DatetimeIndex.