我有一个包含多个列的pd数据集。其中一列代表研究人员的从属关系,可以有一个或多个用逗号分隔的名称。
我需要拆分它并为每个单独的值创建二进制变量(附属机构)。附上原始表格示例的图像以及我需要输出的内容
输入和输出示例
答案 0 :(得分:0)
您可以使用以下代码段解决您的任务:
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']))