Проценты рассчитываются на сумму задолженности после месяца платежа с использованием следующей формулы остатка задолженности x ((0,2/365) x дней в предыдущем месяце). Плата будет взиматься до тех пор, пока баланс не будет полностью погашен.
Набор данных начинается со списка комиссий и списка платежей за этот месяц и со временем будет обновляться. Однако я не могу понять, как заставить эти вычисления применяться построчно.
Сначала я попытался рассчитать остаток задолженности по формуле
Код: Выделить всё
df['balance owed'] = (fees-payments).cumsum()
Затем для процентов я попробовал использовать сдвиг для заполнения пробелов, однако это работает только с существующими значениями, и причитающийся остаток никогда не обновляется, чтобы включить проценты. Кроме того, я не уверен, что произойдет, если кто-то осуществит несколько платежей в месяц, поскольку я думаю, что это приведет к тому, что для расчета процентов не будет использоваться сдвиг.
Код: Выделить всё
df['Interest'] = np.where((df['Balance owed'] > 200), (df['Balance Owed'].shift(1)*((0.2/365)*df.month.shift(1))), 0)
дата
описание
комиссия
платеж
остаток задолженности
проценты
комментарий
месяц
1 января
Плата
200
200
31
3 января
Оплата
200
0
31
1 февраля
Сбор
200
200
28
1 марта
Плата
200
400
31
3 марта
Оплата
200
200
31
1 апреля
Сбор
200
400
30
Окончательный результат:
дата
описание
комиссия
платеж
остаток
проценты
комментарий
месяц
1 января
Плата
200
200
31
3 января
Оплата
200
0
31
1 февраля
Сбор
200
200
28
1 марта
Плата
200
403,07
3,07
Проценты за февраль
31
3 марта
Оплата
200
203.07
31
1 апреля
Плата
200
403,5
3,50
Проценты за март
30
3 апреля
Оплата
403,5
0
30
Подробнее здесь: https://stackoverflow.com/questions/796 ... -following
Мобильная версия