Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 单列到多列,以列作为标题并用二进制值填充_Python_Pandas_Csv - Fatal编程技术网

Python 单列到多列,以列作为标题并用二进制值填充

Python 单列到多列,以列作为标题并用二进制值填充,python,pandas,csv,Python,Pandas,Csv,csv文件中的给定列 labels ['N'] ['C'] ['D'] ['A'] ['D','C'] ['H'] ['D','G'] ['M'] ['O'] 我希望标签作为单独的列标题,并用二进制值填充它们。总共有8个标签,分别是N、D、G、C、A、H、M、O。我编写的代码如下所示,其中包含一个问题,即每个标签即使是这种形式['D','G']也被视为单独的列 下面给出了代码片段: df = (df.pivot

csv文件中的给定列

labels    

['N']    

['C']   

['D']   

['A']   

['D','C']   

['H']   

['D','G']

['M']       

['O']   
我希望标签作为单独的列标题,并用二进制值填充它们。总共有8个标签,分别是N、D、G、C、A、H、M、O。我编写的代码如下所示,其中包含一个问题,即每个标签即使是这种形式['D','G']也被视为单独的列

下面给出了代码片段:

df = (df.pivot(index="ID",columns="labels", values='target')
            .rename_axis(None, axis=1)
            .reset_index())
预期产出:

|N | D | G | C | A | H | M | O|

|1 | 0 | 0 | 0 | 0 | 0 | 0 | 0|

|0 | 0 | 1 | 0 | 0 | 0 | 0 | 0|

这些输出用于上面给出的前2行
还要在同一csv文件中添加这些新列。提前感谢

那么这意味着什么,应该如何对待
['D','G'][0,1,1,0,0,0,0,0,0]
?相同的值应该分别考虑到D和G吗?是的,D和G应该分别考虑,在对你的评论的回应中,相同的值出现在两者中:这听起来像是一个不同的要求,“是的,D和G应该分别考虑,相同的值出现在两者中”我现在要删除我的答案,请用您的预期输出修改您的问题,我很高兴再次讨论这个问题,也许。谢谢你你是在找傻瓜吗
pd.get_假人(df['labels'].explode())
?或者
pd.get_dummies(df['labels'].explode()).sum(level=0)
No。通过使用dummie进行分解,它只会像在“labels”列中一样分解列,但我想将它们分开,并将单个标签设为N、D、G、C、A、H、M、O,而不希望标签设为[N、D]或如此,这意味着什么,应该如何
['D','G'][0、1、1、0、0、0]
是否需要治疗?相同的值应该分别考虑到D和G吗?是的,D和G应该分别考虑,在对你的评论的回应中,相同的值出现在两者中:这听起来像是一个不同的要求,“是的,D和G应该分别考虑,相同的值出现在两者中”我现在要删除我的答案,请用您的预期输出修改您的问题,我很高兴再次讨论这个问题,也许。谢谢你你是在找傻瓜吗
pd.get_假人(df['labels'].explode())
?或者
pd.get_dummies(df['labels'].explode()).sum(level=0)
No。通过使用dummie进行分解,它只会按照“labels”列中的方式分解列,但我希望将它们分开,并将单个标签设置为N、D、G、C、A、H、M、O,而不希望标签设置为[N、D]左右