У меня есть фрейм данных, который выглядит так:
df:
Index AMOUNT_INVOICED INVOICED_DATE CLOSED_DATE
0 1443.62 2019-08-01 2019-09-04
1 3585.78 2019-08-03 2019-09-04
2 68276.25 2019-08-05 2019-09-04
3 19673.84 2019-09-10 2019-11-06
4 9119.40 2019-09-11 2019-10-07
...
700 9976.25 2021-09-01 2021-10-04
701 7273.84 2021-09-01 2021-11-14
702 3129.40 2021-10-04 2021-11-23
Каждая строка представляет счет, который уже был оплачен, DF включает данные с датами выставления счетов, охватывающими период с 2019-01 по сегодняшний день.
Я пытаюсь ежемесячно составлять отчеты, чтобы определить, сколько долларов было непогашено в конце каждого месяца.
Я настроил выходной df, который показывает каждый месяц с даты первого счета, и место для хранения суммы непогашенных AR за месяц, в настоящее время это выглядит так:
Total Outstanding AR
Month
2019-08 0
2019-09 0
2019-10 0
...
2021-09 0
2021-10 0
В конечном счете, я бы хотел, чтобы результат выглядел примерно так:
Total Outstanding AR
Month
2019-08 73,305.65
2019-09 28,793.24
2019-10 19673.84
...
2021-09 17,250.09
2021-10 10,403.24
Общая сумма непогашенных AR будет получена в результате суммирования суммы, выставленной по счету за каждый месяц, когда счет не был закрыт.
Например, в 2019-08 годах мы суммируем сумму, выставленную по первым трем счетам, 1443.62 + 3585.78 + 68276.25 = 73,305.65, поскольку эти три счета остались неоплаченными в конце августа. Эта логика будет продолжаться до тех пор, пока счет-фактура не будет оплачен, но счет-фактура не влияет на непогашенную сумму AR за месяц, в течение которого он оплачен.
Может ли кто-нибудь помочь мне понять, как лучше всего создать желаемый результат?
Спасибо!
pandas
последовательности, вероятно, есть способ выполнить эти текущие суммы за один или два вызова функций без цикла. Я уверен, что кто-нибудь заткнется.