检查一列的值是否存在于之前的列中

Check if a column's value exist in previous columns

我有如下数据框,

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

我想检查一个人是否有相同的水果,如果没有找到则保留该值,

     Person1 Person2 Person3 Person4 Person5

 0   Apple   Orange  True    True    Watermelon

 1    Mango   Apple  True    True    True

numpy 的帮助下,您可以:

import numpy as np

for i in range(len(df1)):
        df1.iloc[i, :] = np.where(df1.iloc[i, :].duplicated() == False, df1.iloc[i, :], True)

输出将是:

  Person1 Person2 Person3 Person4     Person5
0   Apple  Orange    True    True  Watermelon
1   Mango   Apple    True    True        True