我有一个熊猫数据帧,其中包含一列,其中包含一个用“ /”分隔的字符串,我想将这些分隔的字符串拆分为一个由布尔值(如果存在)表示的新列
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,但是没有任何东西可以返回我想要的结果。在正确的方向上提供任何帮助或推动,将不胜感激!
答案 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)