Trying to get competitor vendors for related parts. Requirement - If two vendors supplies one part, they will be competitors & it will be mapped against all related parts of vendors
#Input Data
list1 = ['A','A','A','D','E','F','G','H','I','J','K','L','M','N','O','Q']
list2 = ['A1','A2','A3','A4','A5','A6','A1','A1','A9','A10','A11','A12','A13','A14','A15','A16']
Input = pd.DataFrame({'Materials' : list1, 'Vendors':list2})
print(Input)
#Output required
list1 = ['A','A','A','D','E','F','G','H','I','J','K','L','M','N','O','Q']
list2 = ['A1','A2','A3','A4','A5','A6','A1','A1','A9','A10','A11','A12','A13','A14','A15','A16']
list3 = ['[A1,A2,A3]','[A1,A2,A3]','[A1,A2,A3]','A4','A5','A6','[A1,A2,A3]','[A1,A2,A3]','A9',
'A10','A11','A12','A13','A14','A15','A16']
Output = pd.DataFrame({'Materials' : list1, 'Vendors':list2, 'Output':list3})
print(Output)
#Trying to get info of competitor vendors for all related materials
#Code which i am currently trying
df['gt_1'] = df.groupby(Vendor).Material.transform('nunique').explode()
Any suggestions pls