ในการลบค่าที่ ทุกระดับ (all levels) เป็น NaN ใน MultiIndex ให้ใช้เมธอด multiIndex.dropna() พร้อมตั้งค่าพารามิเตอร์ how='all'
ขั้นตอนการทำงาน
1. นำเข้าไลบรารีที่จำเป็น
import pandas as pd
import numpy as np
2. สร้าง MultiIndex ที่มี NaT ทุกระดับ
multiIndex = pd.MultiIndex.from_arrays([[np.nan, np.nan], [np.nan, np.nan]], names=['a', 'b'])
3. ลบค่าที่ทุกระดับเป็น NaN
print("\nDropping the values when all levels are NaN...\n", multiIndex.dropna(how='all'))
ตัวอย่างโค้ดสมบูรณ์
import pandas as pd
import numpy as np
# สร้าง MultiIndex ที่มี NaN ทุกระดับ
# names ตั้งชื่อระดับ
multiIndex = pd.MultiIndex.from_arrays([[np.nan, np.nan], [np.nan, np.nan]], names=['a', 'b'])
# แสดง MultiIndex
print("Multi-index...\n", multiIndex)
# ลบค่าที่ทุกระดับเป็น NaN (how='all')
print("\nDropping the values when all levels are NaN...\n", multiIndex.dropna(how='all'))
ผลลัพธ์
Multi-index... MultiIndex([(nan, nan), (nan, nan)], names=['a', 'b'])
Dropping the values when all levels are NaN... MultiIndex([], names=['a', 'b'])
คำอธิบาย
how='all' หมายถึงลบเฉพาะแถวที่ ทุกระดับ เป็น NaN ในที่นี้ทั้งสองแถวมี NaN ทุกระดับ จึงถูกลบทั้งหมด เหลือ MultiIndex ว่าง