ในการลบระดับ (level) ใน MultiIndex โดยใช้ตำแหน่ง (position) ให้ใช้เมธอด multiIndex.droplevel() และระบุตำแหน่งของระดับที่ต้องการลบ
ขั้นตอนการทำงาน
1. นำเข้าไลบรารีที่จำเป็น
import pandas as pd
2. สร้าง MultiIndex
multiIndex = pd.MultiIndex.from_arrays([[5, 10], [15, 20], [25, 30], [35, 40]], names=['a', 'b', 'c', 'd'])
3. ลบระดับด้วยตำแหน่ง
print("\nDropping a level...\n", multiIndex.droplevel(3))
ตัวอย่างโค้ดสมบูรณ์
import pandas as pd
# สร้าง MultiIndex
multiIndex = pd.MultiIndex.from_arrays([[5, 10], [15, 20], [25, 30], [35, 40]], names=['a', 'b', 'c', 'd'])
# แสดง MultiIndex
print("Multindex...\n", multiIndex)
# ลบระดับตำแหน่งที่ 3 (ระดับ 'd')
print("\nDropping a level...\n", multiIndex.droplevel(3))
ผลลัพธ์
Multindex... MultiIndex([( 5, 15, 25, 35), (10, 20, 30, 40)], names=['a', 'b', 'c', 'd'])
Dropping a level... MultiIndex([( 5, 15, 25), (10, 20, 30)], names=['a', 'b', 'c'])
คำอธิบาย
droplevel(3) ลบระดับตำแหน่งที่ 3 (นับจาก 0) คือระดับ 'd' เหลือระดับ 'a', 'b', 'c' ตำแหน่งนับจาก 0 ไปจนถึง n-1