logo
Loading...

app_train[~app_train['AMT_ANNUITY'].isnull()]['AMT_ANNUITY']程式碼意思? - Cupoy

您好 我想請問一下下列紅色部分的程式碼是什麼意思呢q_all = [np.percentile(ap...

ml100-2,amt_annuity,語法,ml100-2-d07

app_train[~app_train['AMT_ANNUITY'].isnull()]['AMT_ANNUITY']程式碼意思?

2019/05/04 下午 11:24
機器學習共學討論版
Steve Chu
觀看數:10
回答數:2
收藏數:0
ml100-2
amt_annuity
語法
ml100-2-d07

您好 我想請問一下下列紅色部分的程式碼是什麼意思呢


q_all = [np.percentile(app_train[~app_train['AMT_ANNUITY'].isnull()]['AMT_ANNUITY'], q = i) for i in range(101)]


謝謝

回答列表

  • 2019/05/05 上午 01:00
    luohq_dsr
    贊同數:
    不贊同數:
    留言數:

    isnull判斷缺失 返回為 true false矩陣,如果是缺失則返回 TURE 不是缺失則返回false 因此需要反向,

    [~app_train['AMT_ANNUITY'].isnull()]這樣得出來的才是 不是空值的值

  • 2019/05/05 下午 04:38
    張維元 (WeiYuan)
    贊同數:0
    不贊同數:0
    留言數:0

    樓上講的是對的:


    app_train[~app_train['AMT_ANNUITY'].isnull()] => 取出 app_train 當中 AMT_ANNUITY 不為空的 DataFrame


    另外補充一下這段的用法,這種複雜的用法會建議從裡面往外看:


    我們先看 ~app_train['AMT_ANNUITY'] 會回傳一個 Boolean Series 如下:


    ```

    0    False

    1    False

    2     True

    ...

    Name: numeric, dtype: bool

    ```


    當我們把上述 Boolean 結果放在 DF 的 index 中,稱為 Boolean filtering/indexing,會將等於 True 的資料留下來。換句話說就是用 True/False 來決定每一筆資料要不要篩選。