2017-10-07 47 views
2

我有一个包含多列的pd数据集。其中一列代表研究人员的隶属关系,可以用逗号分隔一个或多个名称。拆分字符串并在Python中添加二进制变量

我需要将其拆分并为每个单独的值创建二进制变量(附属机构)。附我需要为输出输入和输出的

enter image description here

+0

你试过了什么代码? – Steampunkery

+0

尝试'pd.concat([df ['ID'],df.Affiliation.str.split(“,”,expand = True).stack()。str.get_dummies()。groupby(level = 0).sum ()],1)';其中'df'是您的起始数据框。 – Abdou

回答

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']))