python - 使用另一列的值创建虚拟变量
问题描述
我知道 pandas 有一个 get_dummies() 函数。我想要做的不仅仅是给它一个 1/0 的值,而是使用另一列中的值。
我有以下示例:
Id A B
1 a 1
2 a 2
3 b 3
4 b 4
5 b 5
6 c 6
我想把它变成:
ID A_a A_b A_c
1 1 0 0
2 2 0 0
3 0 3 0
4 0 4 0
5 0 5 0
6 0 0 6
其中虚拟变量的值来自 B 列。ID 是标识的缩写。
解决方案
您可以get_dummies
为“A”multiply
列和 B 列:
pd.get_dummies(df['A'],prefix='A').mul(df['B'],axis=0)
A_a A_b A_c
Id
1 1 0 0
2 2 0 0
3 0 3 0
4 0 4 0
5 0 5 0
6 0 0 6
推荐阅读
- python - subprocess.Popen 尝试运行时出现 python 错误。在cmd中工作正常
- docker - Docker 容器的 npm 更新检查失败
- r - 如何使用 usmap 标记数字而不是名称?
- php - WAMP 上的 Laravel(Skote 安装)- 不支持 HTTP 方法
- git - 存储库 docker.io/not found:不存在或没有拉取访问权限
- tableau-api - 计算画面中的总百分比
- sql-server - 使用记录集将数据从 Oracle 传输到 SQL Server
- java - 如何从输入计算一组计算的平均值和最大值/最小值?
- mysql - 如何在 Laravel 中实现 MySql 索引?
- r - 将缺失的年份添加到数据框(重塑)