python - pd.get_dummies 仅将虚拟值名称保留为虚拟列名称
问题描述
我正在尝试做一个 pd.get_dummies 并将其连接回数据帧。它进展顺利,但我只想将虚拟值名称作为虚拟列名返回。我有一个非常大的 daraframe。有没有办法解决这个问题,而不是重命名列?任何支持表示赞赏!
数据框
Number Fruit
One Apple
Two Orange
Three Banana
Four Lemon
代码
dum = pd.get_dummies(df, columns=['Fruit'])
df = pd.concat([df, dum], axis=1)
df
电流输出
Number Fruit Fruit_Apple Fruit_Orange Fruit_Banana Fruit_Lemon
One Apple 1 0 0 0
Two Orange 0 1 0 0
Three Banana 0 0 1 0
Four Lemon 0 0 0 1
期望的输出
Number Fruit Apple Orange Banana Lemon
One Apple 1 0 0 0
Two Orange 0 1 0 0
Three Banana 0 0 1 0
Four Lemon 0 0 0 1
解决方案
让我们在 pd.get_dummies 中使用一些参数来消除前缀和前缀分隔符:
dum = pd.get_dummies(df, columns=['Fruit'], prefix='', prefix_sep='')
pd.concat([df, dum], axis=1)
输出:
Number Fruit Number Apple Banana Lemon Orange
0 One Apple One 1 0 0 0
1 Two Orange Two 0 0 0 1
2 Three Banana Three 0 1 0 0
3 Four Lemon Four 0 0 1 0
推荐阅读
- python - Slack API chat.update internal_error 通过请求,通过 https://api.slack.com/ 工作
- php - 条纹结帐按钮未传递电子邮件地址
- python - 从 SQLAlchemy orm 构建完整查询
- r - 加入时使用 data.table on = .( ) 参数中的函数
- c++ - 运算符重载 >> 到复数
- flask - Flask 变量不适用于 console.log
- android - npx react-native run-android 失败并出现错误
- python - Azure 持久功能扇入/扇出自定义状态
- mysql - SQL 存储过程 - 我哪里出错了?
- node.js - 为什么我会收到此错误 TypeError: Cannot read property 'utf8Slice' of undefined