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

เขียนโค้ด Python เติมค่าขาดหายไปใน DataFrame ด้วย interpolation

สมมติว่าคุณมี DataFrame ที่มีค่าขาดหายไป (NaN) และต้องการเติมค่าโดยใช้วิธี interpolation

วิธีแก้ปัญหา

  1. สร้าง DataFrame ที่มีค่า NaN
  2. ใช้ 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 ค่า