0

我有一个如下的数据框,

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
4

1 回答 1

0

在您的帮助下,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
于 2021-09-17T17:15:35.180 回答