iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 26
0
AI & Data

時間管理大師-時間序列分析終極密技系列 第 26

[Day26]我的田畝是時間-撲朔迷離的空值

今天我們要來練習異常值去除,我們會使用柴比雪夫不等式的原理來操作,在這之前要先思考一件事,異常值去除後,原來的位置要填什麼呢?是補0嗎?還是填一個空值None?或是填一個""呢?答案是都可以,但這些都不算是首選,可以的話最好是填充nan,什麼是nan呢?

nan

nan就是 not a number ,要是有張CSV檔裡面某一列數值是遺失的,我們用Pandas讀取進來,也會顯示nan,而且nan有一些討人厭的特性,我們有許多方式可以取得nan,這裡採用Numpy來幫我們取得一個nan

import pandas as pd
import numpy as np

if __name__ == "__main__":
    a = np.nan
    print(a)
    # nan
    
    b = a
    print(b)
    # nan

    if a == b:
        print("兩個都是NAN")
    else:
        print("兩個不一樣")
    
    # 兩個不一樣

有沒有發現,比較運算子在nan面前居然失效了?!
這時候就需要換個專業的手法

import pandas as pd
import numpy as np

if __name__ == "__main__":
    a = np.nan
    print(a)
    # nan
    
    b = a
    print(b)
    # nan

    if np.isnan(a) and np.isnan(b) :
        print("兩個都是NAN")
    else:
        print("兩個不一樣")
    
    # 兩個都是NAN

這樣就能處理PYTHON的這個大坑囉


上一篇
[Day25]歲月不待人-異常值檢測之柴比雪夫不等式
下一篇
[Day27]玉宇江才千古愁-雞蛋裡挑鋼筋水泥,異常排除
系列文
時間管理大師-時間序列分析終極密技30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言