Python 单元格中的多个值-如何重新构造它们

Python 单元格中的多个值-如何重新构造它们,python,pandas,dataframe,Python,Pandas,Dataframe,我有这个: ID Fruit Consumer 01 apple, banana, banana user1, user2, user13 02 banana, apple, pineapple user3, user5, user8 03 pear, apple, apple, ba

我有这个:

ID                          Fruit                   Consumer 

01                apple, banana, banana           user1, user2, user13
02                banana, apple, pineapple        user3, user5, user8
03                pear, apple, apple, banana      user27, user1, user2, user33
我需要它来执行以下步骤:

ID         apple            banana               pineapple             pear
01      user1            user2, user13            Nobody               Nobody
02      user5               user3                 user8                Nobody
03      user1, user2        user33                Nobody               user27
我不知道如何将用户映射到水果栏。 有什么想法吗?

将ID设置为索引

df=df.set_索引'ID'

然后解析水果和用户列。以水果柱为轴心,用

df=pd.concat[df['Consumer'].str.split',',expand=True.stack,df['Fruit'].str.split',',expand=True.stack],axis=1.renamecolumns={0:'user',1:'Fruit'}.pivot\u tableindex=['ID'],columns=['Fruit'],values='user',aggfunc=lambda x:','.joinx,fill\u value='Nobody'


到底是什么问题?这是一个重构问题您可以将其作为参数添加到pivot\u table函数fill\u value='Nobody'

fruit        apple        banana    pear pineapple
ID                                                
1            user1  user2,user13  Nobody    Nobody
2            user5         user3  Nobody     user8
3      user1,user2        user33  user27    Nobody