I have a dataframe as below,
d = {'Person1': ['Apple', 'Mango'], 'Person2': ['Orange', 'Apple'], 'Person3': ['Orange', 'Apple'], 'Person4': ['Orange', 'Apple'], 'Person5': ['Watermelon', 'Mango']}
df1= pd.DataFrame(data= d)
Person1 Person2 Person3 Person4 Person5
0 Apple Orange Orange Orange Watermelon
1 Mango Apple Apple Apple Mango
I want to check if a person has the same fruit and keep the value if no match is found,
Person1 Person2 Person3 Person4 Person5
0 Apple Orange True True Watermelon
1 Mango Apple True True True
With a little help of numpy
you can do:
import numpy as np
for i in range(len(df1)):
df1.iloc[i, :] = np.where(df1.iloc[i, :].duplicated() == False, df1.iloc[i, :], True)
The output will be:
Person1 Person2 Person3 Person4 Person5
0 Apple Orange True True Watermelon
1 Mango Apple True True True