在Python中拆分字符串并添加二进制变量
我有一个有几列的pd数据集。其中一列表示研究人员的从属关系,可以有一个或多个名称,名称之间用逗号分隔 我需要将其拆分,并为每个单独的值(附属机构)创建二进制变量。附加了一个原始表的示例图像和我需要得到的输出 输入和输出示例在Python中拆分字符串并添加二进制变量,python,python-3.x,Python,Python 3.x,我有一个有几列的pd数据集。其中一列表示研究人员的从属关系,可以有一个或多个名称,名称之间用逗号分隔 我需要将其拆分,并为每个单独的值(附属机构)创建二进制变量。附加了一个原始表的示例图像和我需要得到的输出 输入和输出示例 您可以使用以下代码片段解决您的任务: initial_df = pd.DataFrame({'ID': [1, 2], 'Affiliation': ['University 1, University 2, Univer
您可以使用以下代码片段解决您的任务:
initial_df = pd.DataFrame({'ID': [1, 2],
'Affiliation': ['University 1, University 2, University 3', 'University 3, University 4']}) # here should be your initial DataFrame
processed_df = (pd.get_dummies(initial_df.Affilation.apply(lambda x: x.split(', '))
.apply(pd.Series)
.stack()).sum(level=0)
.assign(ID=initial_df['ID']))
你试过什么代码?试一下
pd.concat([df['ID'],df.Affiliation.str.split(“,”,expand=True).stack().str.get_dummies().groupby(level=0.sum()),1)
;其中,df
是您的起始数据帧。