【发布时间】:2020-12-17 14:55:53
【问题描述】:
我正在尝试准备一个 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
我错过了什么?
【问题讨论】:
-
这是我的第一篇文章,因此也感谢任何有关构建好问题的反馈
-
预期输出是什么?
-
添加了预期结果
标签: python