按分隔符将列拆分为未知数量的列 Pandas
Split Column into Unknown Number of Columns by Delimiter Pandas
我正在尝试根据 comma/space 分隔将一列拆分为多列。
我的数据框目前看起来像
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
我想像这样将 'Colors' 列转换为红色、蓝色和绿色:
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
我真的不知道该怎么做。
任何帮助将不胜感激。
您可以使用 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
我正在尝试根据 comma/space 分隔将一列拆分为多列。
我的数据框目前看起来像
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
我想像这样将 'Colors' 列转换为红色、蓝色和绿色:
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
我真的不知道该怎么做。 任何帮助将不胜感激。
您可以使用 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