如何将单个 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

我缺少什么?


繁花不似锦
浏览 86回答 1
1回答

慕桂英546537

尝试使用:pd.get_dummies(df1["User"])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python