ในการแมสก์ (mask) และแทนที่ค่า NaN ในดัชนี (Index) ด้วยค่าที่ระบุ ให้ใช้เมธอด index.putmask() ร่วมกับ index.isna()
ขั้นตอนการทำงาน
1. นำเข้าไลบรารีที่จำเป็น
import pandas as pd
import numpy as np
2. สร้างดัชนีที่มี NaN
index = pd.Index([5, 65, 10, np.nan, 75, np.nan])
3. แสดงดัชนี
print("Pandas Index...\n", index)
4. แมสก์และแทนที่ NaN
print("\nMask...\n", index.putmask(index.isna(), 111))
ตัวอย่างโค้ดสมบูรณ์
import pandas as pd
import numpy as np
# สร้างดัชนีที่มี NaN
index = pd.Index([5, 65, 10, np.nan, 75, np.nan])
# แสดงดัชนี
print("Pandas Index...\n", index)
# แสดงจำนวนองค์ประกอบ
print("\nNumber of elements in the index...\n", index.size)
# แมสก์และแทนที่ NaN ด้วย 111
print("\nMask...\n", index.putmask(index.isna(), 111))
ผลลัพธ์
Pandas Index... Float64Index([5.0, 65.0, 10.0, nan, 75.0, nan], dtype='float64')
Number of elements in the index... 6
Mask... Float64Index([5.0, 65.0, 10.0, 111.0, 75.0, 111.0], dtype='float64')
คำอธิบาย
putmask(mask, value) แทนที่ค่าที่ mask เป็น True ด้วย value ที่นี่ index.isna() สร้าง mask ที่ True สำหรับ NaN จึงแทนที่ NaT ทั้งหมดเป็น 111