作者FantasyChopi (Fantasy_Chopin)
看板Python
標題[問題] DataFrame資料更改
時間Sat May 21 15:47:17 2022
想請教板上的大大要如何把一筆都是是或否的資料轉換為1&0
然後希望不要用get_dummies(會多兩欄)
而是直接修改整欄資料
因為目前查到的方式都只能修改單一欄位
無法條件式整欄修改
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.240.97.199 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1653119239.A.661.html
1F:推 lycantrope: astype(int)05/21 16:06
2F:推 celestialgod: .map05/21 16:19
不好意思可以請問詳細要怎麼使用嗎
3F:推 lycantrope: df["col1"] = (df["col1"] == 條件).astype("B")05/21 16:53
他還是顯示錯誤 說是Cannot interpret ‘1’ as data type
這是我的程式碼
https://i.imgur.com/bn5Eo7o.jpg
4F:推 yiche: .replace()05/21 17:09
5F:推 lycantrope: "B"是轉成uint8 astype不是隨便寫都能跑05/22 14:26
那請問我應該怎麼改呢
6F:→ toouii: map & replace shorturl.at/hyEO605/22 19:01
8F:→ toouii: shorturl.at/bnyD9 再縮一次05/22 19:16
9F:推 celestialgod: var_dict = {“cat”: 0, “dog”: 1}05/22 19:25
10F:→ celestialgod: df[‘var’] = df[‘var’].map(var_dict)05/22 19:25
11F:→ celestialgod: var_dict = {“yes”: 0, “no”: 1}05/22 19:26
12F:→ celestialgod: 這就可以把yes/no map to 1/005/22 19:26
13F:推 lycantrope: 中文可能太難了.05/22 20:58
14F:→ lycantrope: df["Short"]=(df["Short"]=="是").astype("B")05/22 20:58
我成功了~~ 謝謝ly 大 也謝謝其他提供意見的板友
※ 編輯: FantasyChopi (111.240.124.227 臺灣), 05/22/2022 21:30:38
15F:推 celestialgod: df[‘var’] = df[‘var’].map({‘是’:1,’否’ 05/22 22:33
16F:→ celestialgod: :0}) 05/22 22:33