視覺化時間序列插補

在 Python 中處理遺漏值

Suraj Donthi

Deep Learning & Computer Vision Learning

空氣品質時間序列圖

airquality['Ozone'].plot(title='Ozone', marker='o', figsize=(30, 5))

空氣品質資料集的時間序列圖

在 Python 中處理遺漏值

前向填補(Ffill)

ffill_imp['Ozone'].plot(color='red', marker='o', linestyle='dotted', figsize=(30, 5))

airquality['Ozone'].plot(title='Ozone', marker='o')

空氣品質資料集的前向填補時間序列圖

在 Python 中處理遺漏值

後向填補(Bfill)

bfill_imp['Ozone'].plot(color='red', marker='o', linestyle='dotted', figsize=(30, 5))
airquality['Ozone'].plot(title='Ozone', marker='o')

空氣品質資料集的後向填補時間序列圖

在 Python 中處理遺漏值

線性插值(Linear Interpolation)

linear_interp['Ozone'].plot(color='red', marker='o', linestyle='dotted', figsize=(30, 5))
airquality['Ozone'].plot(title='Ozone', marker='o')

空氣品質資料集的線性插值時間序列圖

在 Python 中處理遺漏值

二次插值(Quadratic Interpolation)

quadratic_interp['Ozone'].plot(color='red', marker='o', linestyle='dotted', figsize=(30, 5))
airquality['Ozone'].plot(title='Ozone', marker='o')

空氣品質資料集的二次插值時間序列圖

在 Python 中處理遺漏值

最近鄰插值(Nearest Interpolation)

nearest_interp['Ozone'].plot(color='red', marker='o', linestyle='dotted', figsize=(30, 5))
airquality['Ozone'].plot(title='Ozone', marker='o')

空氣品質資料集的最近鄰插值時間序列圖

在 Python 中處理遺漏值

插值方法比較

# 建立子圖
fig, axes = plt.subplots(3, 1, figsize=(30, 20))

# 建立插值方法字典
interpolations = {'Linear Interpolation': linear_interp, 
                         'Quadratic Interpolation': quadratic_interp, 
                         'Nearest Interpolation': nearest_interp}

# 視覺化各種插值
for ax, df_key in zip(axes, interpolations):
            interpolations[df_key].Ozone.plot(color='red', marker='o', 
                                              linestyle='dotted', ax=ax)
            airquality.Ozone.plot(title=df_key + ' - Ozone', marker='o', ax=ax)
在 Python 中處理遺漏值

插值方法比較

空氣品質各插值 DataFrame 比較

在 Python 中處理遺漏值

插補技術比較

所有插補空氣品質資料集的比較

在 Python 中處理遺漏值

重點整理

  • 插補後 DataFrame 的時間序列圖
  • 插補方法比較
在 Python 中處理遺漏值

一起來練習吧!

在 Python 中處理遺漏值

Preparing Video For Download...