使用熊猫将串联的字符串拆分为单独的列

时间:2018-09-06 13:20:49

标签: python pandas

我有一个熊猫数据帧,其中包含一列,其中包含一个用“ /”分隔的字符串,我想将这些分隔的字符串拆分为一个由布尔值(如果存在)表示的新列

d = {'col1': ["A/B/C", "B/C", "D/B/A", "C/B"]}
dataFrame = pd.DataFrame(data=d)

    col1
0   A/B/C
1   B/C
2   D/B/A
3   C/B

结果如下:

d = {'A': [1, 0, 1, 0], 'B':[1,1,1,1], 'C':[1,1,0,1], 'D':[0,0,1,0]}
dataFrame = pd.DataFrame(data=d)

    A   B   C   D
0   1   1   1   0
1   0   1   1   0
2   1   1   0   1
3   0   1   1   0

我尝试使用pandas.Series.str.split和pandas.pivot,但是没有任何东西可以返回我想要的结果。在正确的方向上提供任何帮助或推动,将不胜感激!

1 个答案:

答案 0 :(得分:4)

Use pandas.Series.str.get_dummies

df.col1.str.get_dummies('/')

   A  B  C  D
0  1  1  1  0
1  0  1  1  0
2  1  1  0  1
3  0  1  1  0

设置

d = {'col1': ["A/B/C", "B/C", "D/B/A", "C/B"]}
df = pd.DataFrame(data=d)