【问题标题】:Split Column into Unknown Number of Columns by Delimiter Pandas通过分隔符 Pandas 将列拆分为未知数量的列
【发布时间】:2018-10-08 17:30:42
【问题描述】:

我正在尝试根据逗号/空格分隔将一列拆分为多列。

我的数据框目前看起来像

    Item                                          Colors
0   ID-1                                          Red, Blue, Green
1   ID-2                                          Red, Blue
2   ID-3                                          Blue, Green
3   ID-4                                          Blue
4   ID-5                                          Red

我想将“颜色”列转换为红色、蓝色和绿色,如下所示:

    Item                                           Red  Blue  Green
0   ID-1                                           1    1     1
1   ID-2                                           1    1     0
2   ID-3                                           0    1     1
3   ID-4                                           0    1     0
4   ID-5                                           1    0     1

我真的不知道该怎么做。 任何帮助将不胜感激。

【问题讨论】:

    标签: python pandas dataframe data-science


    【解决方案1】:

    您可以使用get_dummies

    pd.concat([df,df.Colors.str.get_dummies(sep=', ')],1)
    Out[450]: 
       Item          Colors  Blue  Green  Red
    0  ID-1  Red,Blue,Green     1      1    1
    1  ID-2        Red,Blue     1      0    1
    2  ID-3      Blue,Green     1      1    0
    3  ID-4            Blue     1      0    0
    4  ID-5             Red     0      0    1
    

    【讨论】:

    • 正是我所需要的。谢谢!关于如何使其在更大的数据集上表现良好的任何想法?
    • @christfan868 我认为您可以使用 chunk ,。将您的 df 拆分为几个数据框,然后执行上述过程,然后将它们连接在一起
    猜你喜欢
    • 2016-09-10
    • 1970-01-01
    • 2018-03-17
    • 1970-01-01
    • 1970-01-01
    • 2021-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多