บทนำ
ใช้ MultiIndex.to_frame() เพื่อแปลง MultiIndex เป็น DataFrame โดยแต่ละระดับกลายเป็นคอลัมน์
ขั้นตอน
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
dataFrame = multiIndex.to_frame()
ตัวอย่างโค้ดเต็ม
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()
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 ranks student
1 John 1 John
2 Tim 2 Tim
3 Jacob 3 Jacob
4 Chris 4 Chris
คำอธิบาย
- ค่าเริ่มต้น: ใช้ค่าระดับแรกเป็น Index, ชื่อคอลัมน์มาจากชื่อระดับ
- ผลลัพธ์แสดงคอลัมน์ซ้ำ 2 ชุด เพราะ Index ก็คือระดับแรก และคอลัมน์ก็มีระดับแรกอีกครั้ง
- ใช้
index=Falseหรือname=[...]เพื่อควบคุมรูปแบบได้