Как выбрать кучу строк - PullRequest
       16

Как выбрать кучу строк

0 голосов
/ 23 марта 2019

У меня есть фрейм данных с несколькими столбцами, я хочу выбрать группу строк, если столбец B имеет 1 подряд, и проверить в этих строках, имеет ли столбец A какое-либо значение, равное 0,04, тогда нужен этот набор строк и извлечь начальное и конечное значениястолбца A для этой группы строк

Вот мой фрейм данных enter image description here

Вот мой желаемый результат:

enter image description here

1 Ответ

2 голосов
/ 23 марта 2019

фильтр Последовательные группы .diff().abs().cumsum().bfill() не соблюдаются конкретные условия (x['B'].eq(1).any() and x['A'].eq(0.04).any()

agg первый и последний

с последующим группированием столбца последовательности для извлечения первой и последней строк с использованием agg fun

df['temp'] = df.B.diff().abs().cumsum().bfill()
df.groupby('temp').filter(lambda x: (x['B'].eq(1).any() and x['A'].eq(0.04).any()))\
    .groupby('temp').agg({'A':['first','last']})

Из:

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