Python 从一列的值向DataFrame添加新列
我有一个数据框,有一个列,它的值像a,b,c,即字符串被“,”分割。现在我想创建新的列,例如,对于a,b,c,将有新的列a,列b,列c。然后a,b,c的数据在三列上的值为真,a,b,e的数据在a和b列上的值为真,但在c列上的值为假,也许下面的图片更清晰。如何做到这一点 与cast to bool by一起使用,并通过以下方式添加列Python 从一列的值向DataFrame添加新列,python,pandas,Python,Pandas,我有一个数据框,有一个列,它的值像a,b,c,即字符串被“,”分割。现在我想创建新的列,例如,对于a,b,c,将有新的列a,列b,列c。然后a,b,c的数据在三列上的值为真,a,b,e的数据在a和b列上的值为真,但在c列上的值为假,也许下面的图片更清晰。如何做到这一点 与cast to bool by一起使用,并通过以下方式添加列B: 对于提取列A,更通用的解决方案是: df = pd.DataFrame({'A':['a,b,c','b,c,f'], 'B':[3,4], 'C':[7,3]}
B
:
对于提取列A
,更通用的解决方案是:
df = pd.DataFrame({'A':['a,b,c','b,c,f'], 'B':[3,4], 'C':[7,3]})
print (df)
A B C
0 a,b,c 3 7
1 b,c,f 4 3
df1 = df.pop('A').str.get_dummies(',').astype(bool).join(df)
print (df1)
a b c f B C
0 True True True False 3 7
1 False True True True 4 3
可能的重复可能的重复
df = pd.DataFrame({'A':['a,b,c','b,c,f'], 'B':[3,4], 'C':[7,3]})
print (df)
A B C
0 a,b,c 3 7
1 b,c,f 4 3
df1 = df.pop('A').str.get_dummies(',').astype(bool).join(df)
print (df1)
a b c f B C
0 True True True False 3 7
1 False True True True 4 3