使用pandas将连接的字符串拆分为单独的列

问题描述 投票:1回答:1

我有一个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,但没有什么可以返回我正在寻找的结果。任何帮助或推动正确的方向,将非常感谢!

python pandas
1个回答
4
投票

使用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

Setup

d = {'col1': ["A/B/C", "B/C", "D/B/A", "C/B"]}
df = pd.DataFrame(data=d)
© www.soinside.com 2019 - 2024. All rights reserved.