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

Python Pandas - เติมค่า NaN ด้วย Linear Interpolation

ใช้ Series.interpolate() แบบ Default (Linear) เพื่อเติมค่า NaN โดยการประมาณค่าแบบเส้นตรงระหว่างจุดที่รู้ค่า

ตัวอย่างโค้ด

import pandas as pd
import numpy as np

d = pd.Series([10, 20, np.nan, 40, 50, np.nan, 70, np.nan, 90, 100])
print("Series...\n", d)

print("\nLinear Interpolation...\n", d.interpolate())

ผลลัพธ์

Series...
0    10.0
1    20.0
2     NaN
3    40.0
4    50.0
5     NaN
6    70.0
7     NaN
8    90.0
9   100.0
dtype: float64

Linear Interpolation...
0    10.0
1    20.0
2    30.0
3    40.0
4    50.0
5    60.0
6    70.0
7    80.0
8    90.0
9   100.0
dtype: float64

คำอธิบาย

  • Linear Interpolation: วาดเส้นตรงระหว่างจุดที่รู้ค่า (20 และ 40 -> กลางคือ 30)
  • ไม่ต้องระบุ method เพราะเป็น Default
  • เหมาะกับข้อมูลที่มีแนวโน้มเส้นตรงหรือ Time Series ทั่วไป