บทนำ
ใช้ MultiIndex.to_frame(index=False) เพื่อสร้าง DataFrame โดยไม่ใช้ค่าระดับแรกเป็น Index
ขั้นตอน
1. นำเข้าไลบรารีและสร้าง MultiIndex
import pandas as pd
arrays = [[1, 2, 3, 4], ['John', 'Tim', 'Jacob', 'Chris']]
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('ranks', 'student'))
2. สร้าง DataFrame โดย index=False
dataFrame = multiIndex.to_frame(index=False)
ตัวอย่างโค้ดเต็ม
import pandas as pd
arrays = [[1, 2, 3, 4], ['John', 'Tim', 'Jacob', 'Chris']]
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('ranks', 'student'))
print("The Multi-index...\n", multiIndex)
print("\nThe levels in Multi-index...\n", multiIndex.levels)
dataFrame = multiIndex.to_frame(index=False)
print("\nThe DataFrame...\n", dataFrame)
ผลลัพธ์
The Multi-index...
MultiIndex([(1, 'John'), (2, 'Tim'), (3, 'Jacob'), (4, 'Chris')],
names=['ranks', 'student'])
The levels in Multi-index...
[[1, 2, 3, 4], ['Chris', 'Jacob', 'John', 'Tim']]
The DataFrame...
ranks student
0 1 John
1 2 Tim
2 3 Jacob
3 4 Chris
คำอธิบาย
index=Falseทำให้ DataFrame ใช้ RangeIndex (0,1,2,3) แทนค่าระดับแรก- ชื่อคอลัมน์มาจากชื่อระดับของ MultiIndex ('ranks', 'student')
- เหมาะสำหรับการ export หรือ merge ที่ไม่ต้องการ MultiIndex เป็น index