Как извлечь из DataFrame на основе трех столбцов? - PullRequest
1 голос
/ 18 апреля 2019

Я пытался перетасовать и извлечь дублированные столбцы из Dataframe на основе трех столбцов.

Я попытался преобразовать три столбца в словарь, сохранить их индекс и сравнить высоту.Строка 4 не уникально отброшена.

df['C']=df[["Color1","Color2","Color3"]].stack().apply(tuple)
df = df.duplicated(subset=["Color1","Color2","Color3"], keep=False)


     Height    Color1    Color2    Color3
0    Short      NaN       Blue      Red
1    High       Red       Blue      NaN
2    Medium     Blue       Red      NaN 
3    Short       NaN       NaN      Blue
4    Short       NaN       Red      Blue
5    High        NaN       NaN      NaN

Вывод кода должен быть:

     Height    Color1    Color2    Color3
0    Short      NaN       Blue      Red
1    High       Red       Blue      NaN
2    Medium     Blue       Red      NaN

1 Ответ

1 голос
/ 18 апреля 2019

Вы можете использовать drop_duplicates:

df.drop_duplicates(subset="Height")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...