Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从一列的值向DataFrame添加新列_Python_Pandas - Fatal编程技术网

Python 从一列的值向DataFrame添加新列

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]}

我有一个数据框,有一个列,它的值像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]})
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