作者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/cn.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