У меня есть df как
print (df)
ACTUAL TARGET ACTUAL_DATE NO YEAR
0 6385 108725 9/5/2018 36 2018
1 6385 108725 9/4/2018 36 2018
2 3251 108725 9/3/2018 36 2018
3 1793 120941 9/2/2018 35 2018
4 1037 120941 9/1/2018 35 2018
5 121127 120941 8/31/2018 35 2018
6 116232 120941 8/30/2018 35 2018
7 111820 120941 8/29/2018 35 2018
8 106402 120941 8/28/2018 35 2018
, и я ищу вывод типа

Обратите внимание на новый столбец ACTUAL_SALESэто разница ACTUAL - ACTUAL (Previous)
Я пытался использовать,
if a['ACTUAL_DATE'].dt.month == a['ACTUAL_DATE'].shift(1).dt.month:
a['ACTUAL_SALES'] = a['ACTUAL'] - a['ACTUAL'].shift(-1)
else:
a['ACTUAL_SALES'] = a['ACTUAL']
ValueError: Истинное значение Series является неоднозначным.Используйте a.empty, a.bool (), a.item (), a.any () или a.all ().
Я также пробовал,
if a['ACTUAL_DATE'].dt.month == a['ACTUAL_DATE'].shift(1).dt.month:
a['ACTUAL_SALES'] = a['ACTUAL'].diff(-1)
else:
a['ACTUAL_SALES'] = a['ACTUAL']
Я нашел способ получить желаемый результат. Но я пытаюсь понять, почему я продолжаю получать ошибку выше.