определяемая пользователем функция на основе текущей строки и предыдущей строки - PullRequest
0 голосов
/ 26 мая 2020

Я работаю над задачей автоматизации в python. Мне нужен столбец «результат», в котором он должен содержать «1», если столбец «Батарея» содержит «Разряд», а предыдущая строка содержит «Нет», иначе он должен содержать «0»

1-я строка по умолчанию должен содержать 0.

Формула Excel:

= IF (AND (AD2 = "None", AD3 = "Discharge"), 1,0)

1 Ответ

1 голос
/ 26 мая 2020

IIU C вы можете использовать np.where() для установки условия, а затем принудительно установить первую строку на 0:

import numpy as np

df['result'] = np.where(
    (df.Battery=='Discharge') & (df.Battery.shift()=='None'),
    1,
    0
)

df['result'].iloc[0] = 0
...