Это немного сложно объяснить, но я буду стараться изо всех сил, пожалуйста, потерпите меня.
У меня есть удостоверение личности, дата отгрузки и единицы измерения. Я хочу рассчитать единицы, отправленные в течение 3 дней, и количество не должно совпадать, например мой фреймворк выглядит следующим образом.
ID Shipping Date Units Expected output
153131151007 20180801 1 1
153131151007 20180828 1 2
153131151007 20180829 1 0
153131151007 20180904 1 1
153131151007 20181226 2 4
153131151007 20181227 1 0
153131151007 20181228 1 0
153131151007 20190110 1 1
153131151007 20190115 2 3
153131151007 20190116 1 0
153131151011* 20180510 1 2
153131151011* 20180511 1 0
153131151011* 20180513 1 2
153131151011* 20180515 1 0
153131151011* 20180813 1 1
153131151011* 20180822 1 2
153131151011* 20180824 1 0
153131151011* 20190103 1 1
Код должен проверять дату, видеть, есть ли какие-либо поставки в следующие 3 дня, если есть доставка, он должен просуммировать ее в своем столбце текущей даты и убедиться, что он не учитывает суммарное количество для расчета следующей даты.
Таким образом, для первой даты отправки идентификатора 20181226 он проверяет 1226,1227,1228, суммирует их и показывает результат в 1226, а в следующих 2 ячейках показывает 0.
Аналогично для 2-го ID 20180510 0510 - это первая дата отгрузки в серии. Он проверяет 0510,0511 и 0512 и суммирует его в 0510, а остальные обнуляет, поэтому 0511 не учитывает 0513 и является частью другой группы отгрузки.
data = pd.DataFrame({'ID':['153131151007','153131151007','153131151007','153131151007','153131151007','153131151007','153131151007','153131151007','153131151007','153131151007','153131151011*','153131151011*','153131151011*','153131151011*','153131151011*','153131151011*','153131151011*','153131151011*'],
'Date':[20180801,20180828,20180829,20180904,20181226,20181227,20181228,20190110,20190115,20190116,20180510,20180511,20180513,20180515,20180813,20180822,20180824,20190103],
'Units':[1,1,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1]})