สมมติว่าคุณมี DataFrame ที่มีค่าขาดหายไป (NaN) และต้องการเติมค่าโดยใช้วิธี interpolation
วิธีแก้ปัญหา
- สร้าง DataFrame ที่มีค่า NaN
- ใช้
df.interpolate()กำหนด method='linear', limit_direction='forward', limit=2
ตัวอย่างโค้ด
import pandas as pd
df = pd.DataFrame({
"Id": [1, 2, 3, None, 5],
"Age": [12, 12, 14, 13, None],
"Mark": [80, 90, None, 95, 85]
})
print("DataFrame ต้นฉบับ:\n", df)
# Interpolation แบบ linear, เติมไปข้างหน้า, จำกัด 2 ค่า
df_filled = df.interpolate(method='linear', limit_direction='forward', limit=2)
print("\nหลังเติมค่าด้วย interpolation:")
print(df_filled)
ผลลัพธ์
DataFrame ต้นฉบับ:
Id Age Mark
0 1.0 12.0 80.0
1 2.0 12.0 90.0
2 3.0 14.0 NaN
3 NaN 13.0 95.0
4 5.0 NaN 85.0
หลังเติมค่าด้วย interpolation:
Id Age Mark
0 1.0 12.0 80.0
1 2.0 12.0 90.0
2 3.0 14.0 92.5
3 4.0 13.0 95.0
4 5.0 13.0 85.0
คำอธิบายพารามิเตอร์:
method='linear': ใช้การประมาณค่าเชิงเส้น (default)limit_direction='forward': เติมค่าไปในทิศทางข้างหน้า (จากบนลงล่าง)limit=2: จำกัดจำนวนค่าที่เติมได้ต่อคอลัมน์สูงสุด 2 ค่า