logo
Loading...

dtype_select filter篩選數值問題 - Cupoy

請問為何兩次印出numeric_columns都變成空的? 我以為會印出符合條件的List才是..

dtype_select filter篩選數值問題

2020/03/15 下午 05:54
機器學習共學討論版
Jason
觀看數:13
回答數:3
收藏數:0

請問為何兩次印出numeric_columns都變成空的? 我以為會印出符合條件的List才是..

回答列表

  • 2020/03/15 下午 10:45
    yicchen
    贊同數:1
    不贊同數:0
    留言數:1

    dtype_select 需放類別名稱,因為程式沒有篩選到符合的,所以印出[]


    這裡有其他人的發問,你可以參考看看~

    https://www.cupoy.com/qa/club/ai_tw/0000016D6BA22D97000000016375706F795F72656C656173654B5741535354434C5542/00000170A4D74BC0000001E46375706F795F72656C656173655155455354

  • 2020/03/16 上午 01:01
    Jeffrey
    贊同數:1
    不贊同數:0
    留言數:0

    為何兩次印出numeric_columns都變成空的?

    --> 因為 list 找不到指定型別的data.

    可以先把numeric_columns 的 head 印出來對照, 吉可以理解

  • 2020/03/17 上午 01:15
    張維元 (WeiYuan)
    贊同數:0
    不贊同數:0
    留言數:0

    這邊補充說明一下,在 Numpy 中有幾種表示數值的欄位:


    1. int

    2. int64

    3. np.int64

    4. np.dtype('float64')


    當只用 int 的時候預設會等於你的電腦中最大的 int 數值,不同的電腦可能會有差異。另外 int64、np.int64、np.dtype('float64') 這三種寫法在用 == 比較的時候是等價的,但用 is/isin 判斷卻會錯。原因在於 is 是比較嚴格的物件比較,除了數值本身之外,也會比型態的差異。


    舉個例子,這三種 int64、np.int64、np.dtype('float64')  都可以表達 int64,但他們分別是字串、np.int64、和 np.dtype 型態,因此在用 isin 的時候會出錯。所以這邊建議大家改用 dtype_select 來處理,會比較容易。


    如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃