Python 单列到多列,以列作为标题并用二进制值填充
csv文件中的给定列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
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]左右