logo
Loading...

關於迴圈使用於app_train(list)的語法問題 - Cupoy

for col in app_train:   if app_train[col].dtype ==...

關於迴圈使用於app_train(list)的語法問題

2020/03/29 下午 06:03
機器學習共學討論版
江柏勳
觀看數:3
回答數:2
收藏數:0

for col in app_train:

   if app_train[col].dtype == 'object':

       # 如果只有兩種值的類別型欄位

       if len(list(app_train[col].unique())) <= 2:

           # 就做 Label Encoder, 以加入相關係數檢查

           app_train[col] = le.fit_transform(app_train[col]) 

問一下就是,為何for這一行可以取app_train(它應是個dataframe而非list阿)

回答列表

  • 2020/03/29 下午 08:46
    張維元 (WeiYuan)
    贊同數:0
    不贊同數:0
    留言數:1

    嗨,柏勳


    app_train[col] 這裡的 col 應是某個欄位名稱,app_train[col] 是取出這個欄位的整行資料。不太理解你的問題是什麼?


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

  • 2020/03/30 上午 00:07
    張維元 (WeiYuan)
    贊同數:0
    不贊同數:0
    留言數:2

    「for col in app_train: 恩目前知道的是如果app_train是個list,那這個for迴圈就會一個一個把list的東西讀出來 但app_train本身是個dataframe(如果用app_train.columns我就可以理解)」


    =>  哦!這是個好問題,應該 app_train 的 for loop 預設會用 columns 的方式,會等於 for col in app_train.columns 。你可以想像他跟 dict 的行為有點像。

     

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