Я хочу найти уникальную комбинацию столбцов person1
и person2
, несмотря на обратные значения в моем фрейме данных. Ниже вы можете найти исходный пример Dataframe, где я хочу найти уникальных людей:
df = pd.DataFrame({"person1":["AL","IN","AN","DL","IN","AL","AL","IN","AN"],
"person2":["AL","AN", np.nan,"AL","AN","AL","DL","IN","IN"]})
person1 person2
0 AL AL
1 IN AN
2 AN NAN
3 DL AL
4 IN AN
5 AL AL
6 AL DL
7 IN IN
8 AN IN
Мой желаемый вывод выглядит так:
person1 person2 person
0 AL AL AL
1 IN AN IN/AN
2 AN NAN AN
3 DL AL DL/AL
4 IN AN IN/AN
5 AL AL AL
6 AL DL DL/AL # Since it has been added as DL/AL NOT AL/DL
7 IN IN IN
8 AN IN IN/AN # Since it has been added as IN/AN NOT AN/IN
Я использовал этот код:
df['person'] = np.where(df.person1 != df.person2,
df.person1 + "/" + df.person2, df.person1)
Но он возвращает с AL/DL
и AN/IN
в индексах 6 и 8 в моем примере выше. Как всегда, когда я не вижу правильного подхода, где я могу получить уникальный порядок DL/AL
и IN/AN
Панды гуру, пожалуйста, покажи мне путь :)