У меня есть хороший алгоритм, который возвращает самую старую часть установки последовательных установок в одной лодке: Как получить самую старую часть установки последовательных установок одной и той же лодки в пандах?
Iхотел бы применять этот алгоритм только к строкам, которые имеют col['x'] == False
. Как я могу это сделать? См. Ожидаемый результат ниже.
Алгоритм: print (df[['boat','part']].ne(df[['boat','part']].shift()).any(axis=1))
Вход
| boat | part | date | x |
|------|------|----------------|-------|
| A | B | 12/19/13 08:19 | TRUE |<-- ignore and keep this
| A | C | 3/24/14 10:26 | TRUE |<-- ignore and keep this
| A | D | 7/21/14 09:46 | TRUE |<-- ignore and keep this
| A | D | 3/5/18 22:35 | FALSE |<--evaluate this with algorithm
| A | D | 7/27/19 00:43 | FALSE |<--evaluate this with algorithm
| A | D | 8/9/19 00:53 | FALSE |<--evaluate this with algorithm
| A | D | 9/6/19 23:10 | FALSE |<--evaluate this with algorithm
Ожидаемый результат
| boat | part | date | x |
|------|------|----------------|-------|
| A | B | 12/19/13 08:19 | TRUE |<-- keep because x == True
| A | C | 3/24/14 10:26 | TRUE |<-- keep because x == True
| A | D | 7/21/14 09:46 | TRUE |<-- keep because x == True
| A | D | 3/5/18 22:35 | FALSE |<-- Keep because first install of consecutive installs
Вход 2
| boat | part | date | x |
|------|------|------------------|-------|
| A | E | 12/20/13 03:27 | TRUE |<-- ignore and keep this
| B | E | 7/21/14 09:46 | FALSE |<--evaluate this with algorithm
| C | E | 1/8/16 17:08 | TRUE |<-- ignore and keep this
| C | E | 3/23/16 17:15 | TRUE |<-- ignore and keep this
| B | E | 3/5/18 22:35 | FALSE |<--evaluate this with algorithm
| B | E | 7/27/19 00:43 | FALSE |<--evaluate this with algorithm
| B | E | 8/9/19 00:53 | FALSE |<--evaluate this with algorithm
| B | E | 9/6/19 23:10 | FALSE |<--evaluate this with algorithm
Ожидаемый выход 2
| boat | part | date | x |
|------|------|------------------|-------|
| A | E | 12/20/13 03:27 | TRUE |<-- keep because x == True
| B | E | 7/21/14 09:46 | FALSE |<-- Keep because first install of consecutive installs
| C | E | 1/8/16 17:08 | TRUE |<-- keep because x == True
| C | E | 3/23/16 17:15 | TRUE |<-- keep because x == True
| B | E | 3/5/18 22:35 | FALSE |<-- Keep because first install of consecutive installs