Để 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=False | DateTimeIndex 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.