python - 如何将单个 df col 映射到多个“复选框”cols
问题描述
我正在尝试准备一个 csv,以便从另一个工具导出的 csv 导入调查工具。我需要将一个 df 中的一列值映射到多个列中,以满足另一个 csv 的复选框。
例如,我的起始 df (df1) 和目标 df (df2) 如下所示:
import pandas as pd
df1 = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice']})
df2 = pd.DataFrame({'Bob': [0,0,0], 'Jane': [0,0,0], 'Alice': [0,0,0]})
我试过了:
for value in df1["User"]:
if value == "Bob":
df2['Bob'] = 1
elif value == "Jane":
df2['Jane'] = 1
elif value == "Alice":
df2['Alice'] = 1
但我最终在每一行和每一列都有一个“1”。
结果:
Bob Jane Alice
0 1 1 1
1 1 1 1
2 1 1 1
我正在尝试创建:
Bob Jane Alice
0 1 0 0
1 0 1 0
2 0 0 1
我错过了什么?
解决方案
尝试使用:
pd.get_dummies(df1["User"])
推荐阅读
- python - Django 从 JSON 数据中获取价值
- javascript - 模块导出是否每次导入时都会创建一个新实例
- kotlin - Kotlin 远程方法调用访问被拒绝
- angularjs - 设置 Jquery 的值后更新输入 ng-model
- javascript - 如何隐藏特定页面宽度以下的文本?
- unity3d - Vector3.MoveTowards 同时也跟随光标?
- android - 如何启用从 WebView 加载的网站 URL 到应用程序的文件上传按钮?
- ios - 想要从所有行中获取计算值
- javascript - NEXT 和 PREVIOUS 按钮 onClick 不起作用
- java - 如何从json文件java中的特定索引获取数据