Pandas датафрейм сравнивает столбцы с одним значением и переносит эту и предыдущую строки в другой фрейм данных - PullRequest
1 голос
/ 02 марта 2020

У меня есть такой фрейм данных:

>>> df
   A    B
0  1   56
1  2   75
2  3  102
3  4   15
4  5   19
5  6  116

Я хочу создать еще один фрейм данных с B>100, а также сохранить его предыдущую строку. Это должно выглядеть так:

>>> df1
   A    B
1  2   75
2  3  102
4  5   19
5  6  116

Какой самый лучший способ. Заранее спасибо.

1 Ответ

2 голосов
/ 02 марта 2020

Использовать boolean indexing с 2 условиями, объединенными в цепочку | для битовой OR, второй с Series.shift, также для cpmpare используется Series.gt :

df1 = df[df.B.gt(100) | df.B.shift(-1).gt(100)]

Альтернатива:

df1 = df[(df.B>100) | (df.B.shift(-1)>100)]

print (df1)
   A    B
1  2   75
2  3  102
4  5   19
5  6  116
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...