Удалить группы с более чем одним уникальным значением в другом столбце - PullRequest
0 голосов
/ 04 января 2019

У меня есть Excel как

Name   X    Y
A      5    9
B      5    10
C      7    9
D      7    9
E      5    10
F      5    8

Я хочу удалить строки, которые имеют одинаковые значения в столбце Y, но разные значения в столбце X. (Другими словами, если существует более одного значения X для одного значения Y, удалите все эти строки) Результат должен быть:

Name   X    Y
B      5    10
E      5    10
F      5    8

1 Ответ

0 голосов
/ 04 января 2019

Используйте groupby с transform и "nunique" и отфильтруйте группы с более чем 1 уникальным значением в X:

df[df.groupby('Y').X.transform('nunique') == 1]

  Name  X   Y
1    B  5  10
4    E  5  10
5    F  5   8

Аналогичное решение, используйте map для трансляции результата:

df[df.Y.map(df.groupby('Y').X.nunique()) == 1]

  Name  X   Y
1    B  5  10
4    E  5  10
5    F  5   8
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...