Python Pandas: удалить дубликаты строки в каждом отдельном разделе - PullRequest
4 голосов
/ 01 мая 2019

У меня есть датафрейм, который выглядит следующим образом:

A B
a T
b T
c F
d F
e F
f T
g T

Я хочу сохранить последнее событие каждого раздела

Должен превратиться в это:

A B
b T
e F    
g T

1 Ответ

7 голосов
/ 01 мая 2019

Использование:

df[df.B.ne(df.B.shift(-1))]

   A  B
1  b  T
4  e  F
6  g  T

Подробности - использование df.shift() и periods= -1 сместит столбец на один пример выше:

print(df.B.shift(-1)) 

0      T
1      F
2      F
3      F
4      T
5      T
6    NaN

используя вышеприведенный вывод, мы делаем сравнение с текущей строкой:

df.B.ne(df.B.shift(-1))
0    False
1     True
2    False
3    False
4     True
5    False
6     True

теперь у нас есть логический вывод, к которому мы можем напрямую вызвать фрейм данных, который выберет весь индекс True.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...