Pandas 将行值转换为列值

Pandas 将行值转换为列值,pandas,Pandas,我有一个标签分开的文件,比如 text_id text task_1 task_2 task_3 hasoc_en_1 in the know as nation's pride is involved lorem NOT NONE NONE hasoc_en_2 admitted to treason . #TrumpIsATraitor #McCainsAHero #JohnMcCainDay HOF HATE TIN 我可以把它读入一个数据框,比

我有一个标签分开的文件,比如

text_id text    task_1  task_2  task_3
hasoc_en_1  in the know as nation's pride is involved    lorem  NOT NONE    NONE
hasoc_en_2  admitted to treason . #TrumpIsATraitor  #McCainsAHero #JohnMcCainDay    HOF HATE    TIN
我可以把它读入一个数据框,比如

df=pd.read_csv(r"c:\Users\asd\Desktop\dd\english_dataset\english_dataset.tsv", sep='\t', header=0)
我希望将task_1、task_2和task_3中的所有唯一值作为列标题,并将1或0作为行值,例如:

text_id text    NOT HOF NONE HATE TIN
hasoc_en_1  in the know as nation's pride is involved    lorem  1 0 1 0 0
hasoc_en_2  admitted to treason . #TrumpIsATraitor  #McCainsAHero #JohnMcCainDay    0 1 0 1 0

是否有任何内置功能或简单的方法来实现?或者我必须循环一个数据帧并在另一个数据帧中插入值。请提供建议?

您可以使用熊猫。为每个单独的任务列获取虚拟对象(),然后使用max将其转换为您请求的格式/