ในการลบหลายระดับ (levels) ใน MultiIndex โดยใช้ชื่อระดับ ให้ใช้เมธอด 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. แสดง MultiIndex
print("Multi-index...\n", multiIndex)
4. ลบหลายระดับด้วยชื่อ
print("\nDropping multiple level...\n", multiIndex.droplevel(['a', 'd']))
ตัวอย่างโค้ดสมบูรณ์
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("Multi-index...\n", multiIndex)
# ลบระดับ 'a' และ 'd' ด้วยชื่อ
print("\nDropping multiple level...\n", multiIndex.droplevel(['a', 'd']))
ผลลัพธ์
Multi-index... MultiIndex([( 5, 15, 25, 35), (10, 20, 30, 40)], names=['a', 'b', 'c', 'd'])
Dropping multiple level... MultiIndex([(15, 25), (20, 30)], names=['b', 'c'])
คำอธิบาย
droplevel(['a', 'd']) ลบระดับที่ชื่อ 'a' (ตำแหน่ง 0) และ 'd' (ตำแหน่ง 3) เหลือระดับ 'b' และ 'c' เท่านั้น