Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python Pandas - ลบค่าเมื่อทุกระดับเป็น NaN ใน MultiIndex (dropna how='all')

ในการลบค่าที่ ทุกระดับ (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 ว่าง