удалить строки по условиям в нескольких столбцах - PullRequest
0 голосов
/ 12 мая 2018

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

Я хочу посчитать строки, если v1 и v2 имеют одинаковое значение, так что у моей df есть 2 строки (v1 = 0, v2 = 30), 1 строка на (v1 = 0, v2 = 15; v1 = 0, v2 = 20), 2 строки включены (v1 = 15, v2 = 10), 3 строки включены (v1 = 10, v2 = 10). Затем удалите строки, если v1 и v2 не имеют 2 строк, в этом случае удалите (v1 = 0, v2 = 15; v1 = 0, v2 = 20) и (v1 = 10, v2 = 10).

DF

 ID    v1    v2
  1    0     30
  1    15    10
  1    0     30
  1    0     15
  1    0     20
  1    15    10
  1    10    10
  1    10    10
  1    10    10

ожидаемый результат

 ID    v1    v2
  1    0     30
  1    0     30
  1    15    10
  1    15    10

Я groupby сначала значения, но не уверен, какие условия я должен написать для удаления.

df[df.groupby(['ID', 'v_1', 'v_2'])]

Надеюсь, я объясню ясно.

Спасибо!

1 Ответ

0 голосов
/ 12 мая 2018

IIUC

df[df.duplicated(keep=False)]
Out[29]: 
   ID  v1  v2
0   1   0  30
1   1  15  10
2   1   0  30
5   1  15  10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...