logo
Loading...

Day_006_HW - Cupoy

Hi, 再確認dataType後,使用isin 去判斷"float"dataType輸出卻總為fal...

ml100-2,dtypes.isin,ml100-2-d06

Day_006_HW

2019/05/01 下午 10:20
機器學習共學討論版
達明翰
觀看數:8
回答數:2
收藏數:1
ml100-2
dtypes.isin
ml100-2-d06

Hi, 


再確認dataType後,使用isin 去判斷"float"dataType輸出卻總為false,請問可以幫忙解答嗎? 



app_train.dtypes.value_counts() 


out:

float64 65

int64 41

object  16

dtype: int64


# 先篩選數值型的欄位


"""

YOUR CODE HERE, fill correct data types (for example str, float, int, ...)

"""

dtype_select = [float]


numeric_columns = list(app_train.columns[list(app_train.dtypes.isin(dtype_select))])

print("Numbers of remain columns" , len(numeric_columns))


out:

Numbers of remain columns 0

回答列表

  • 2019/05/01 下午 10:34
    張維元 (WeiYuan)
    贊同數:2
    不贊同數:0
    留言數:3

    dtypes.isin 當中要放的是是 dtype 的型態,而不是字串,所以必須這麼寫會比較好:


    ```

    app_train.dtypes.isin([np.dtype('int64'), np.dtype('float64')]) 

    ```


    也可以改用對 df 直接做 select_dtypes:


    ```

    app_train.select_dtypes(include=['float64', 'int64'])

    ```

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

    Hi~一樣的問題我想請問 為什麼在參考解答中他一樣是給字串執行完卻是正常的 謝謝


    => 因為你給 int 字串,np 會幫你轉成 numpy 的 dtype 型態,但可能會受到電腦的不同而有差異。原則上 int 應該會轉成最大的 bit。可以參考我這一篇的回答:https://www.cupoy.com/qa/kwassist/ai_tw/0000016A43F462510000051B6375706F795F72656C656173655155455354