我有这个:
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_index('ID')
然后解析水果和用户列。以果柱为轴心,用
,
聚合df = pd.concat([df['Consumer'].str.split(',', expand=True).stack(), df['Fruit'].str.split(',', expand=True).stack()], axis=1).rename(columns={0: 'user', 1: 'fruit'}).pivot_table(index=['ID'], columns=['fruit'], values='user', aggfunc=lambda x: ','.join(x), fill_value='Nobody')
相关问题 更多 >
编程相关推荐