Панды - Как рассчитать проценты на основе условий и добавить в совокупности к следующему балансу и процентамPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Панды - Как рассчитать проценты на основе условий и добавить в совокупности к следующему балансу и процентам

Сообщение Anonymous »

Я пытаюсь разработать сводную таблицу счетов на основе сборов и ежемесячных платежей. Условие состоит в том, что всякий раз, когда платеж выплачивается в течение 7 дней поздно (или вообще не), он вызывает расчет процентов на основе этой строки. Это процентное значение затем добавляется к сумме, причитаемой в следующей строке, которая, если не очищена, затем повлияет на расчет процентов в каждой строке после. И будет по -прежнему взиматься до тех пор, пока баланс не будет полностью очищен. Тем не менее, я не могу выяснить, как получить эти вычисления для применения в строке по строке.

Код: Выделить всё

df['balance owed'] = (fees-payments).cumsum()
Если платеж опаздывает (через 7 дней) и очищает баланс, предыдущая ежемесячная плата будет использоваться вместо этого для расчета процентов. Кроме того, я не уверен, что произойдет, если бы у кого -то было несколько платежей в месяце, так как я думаю, что это отказалось бы от сдвига для расчета процентов. < /P>
df['Interest'] = np.where((df['Balance owed'] > 200), (df['Balance Owed'].shift(1)*((0.2/365)*df.month.shift(1))), 0)
< /code>
start: < /p>



date < /th>
Описание < /th>
th> th> < /th> < /th> < /br />
< /th> < /th>
< /th> < /th> < /th> < /th> < /th> < /th> < /th> < /th> < /th> < /th> < /th> < /th> < /th>. Owed < /th>
процент < /th>
Комментарий < /th>
месяц < /th>
< /tr>
< /thead>


1-jan < /td>
fet < /td> fee < /td> fet < /td>. /> 200 < /td>
< /td>
200 < /td>
< /td>
< /td>
31 < /td>
< /tr>

3-jan < /td> < /td> < /td> < /td> < /td> < /td> < /td> < /td> < /td>
< /tr>
31 /> платеж < /td>
< /td>
200 < /td>
0 < /td>
< /td>
< /td>
31 < /td>
< /tr>

31 < /td>
< /tr> /> 1-Feb < /td>
fee < /td>
200 < /td>
< /td>
200 < /td>
< /td>
< /td>
< /td>
< /td>
/> < /tr>

1-mar < /td>
fee < /td>
200 < /td>
< /td>
400 < /td>
< /td>
400 < /td>
< /td>
400 < /td>

400 < /td>
/> 31 < /td>
< /tr>

3-mar < /td>
платеж < /td>
< /td>
200 < /td>
200
200 < /td>
200

200 < /td>
200
200 /> < /td>
31 < /td>
< /tr>

1-apr < /td>
feet < /td>
200 < /td>
< /td>
200 < /td>
< /td>
200 < /td>
< /td>
200 < /td>
< /td>
/> < /td>
< /td>
30 < /td>
< /tr>
< /tbody>
< /table> < /div>
Окончательный результат: < /p>


date < /th>
Описание < /th>
fee < /th>
Оплата < /th>
. /> < /tr>
< /thead>


1-jan < /td>
feet < /td>
200 < /td>
< /td>
200
< /td>
200




< /td>
200 < /td>
< /td>
200 < /td>
< /td>
200 < /td /> < /td>
31 < /td>
< /tr>

3-jan < /td>
платеж < /td>
< /td>
200 < /td>
< /td>
200 < /td>
< /td>
200 < /td>
< /td>
200 < /td>
< /td>
200 < /td>
< /td>
200 < /td>
< /td>
200 < /td>
/> < /td>
< /td>
31 < /td>
< /tr>

1-feb < /td>
fee < /td>
200
< /td>
200

< /td>
200
/> 200 < /td>
< /td>
< /td>
28 < /td>
< /tr>

1-mar < /td>
fee < /td>
< /td>
< /td> < /td>
< /td> /> < /td>
400 < /td>
3.07
интерес для февраля < /td>
31 < /td>
< /tr>

3-mar < /td>

3-mar < /td>

3-mar < /td> /> платеж < /td>
< /td>
200 < /td>
206.17
< /td>
< /td>
31 < /td>
< /td> < /td>
31 < /td>
< /td>


/> 1-APR < /td>
FEE < /td>
200 < /td>
< /td>
400 < /td>
функциональный />

3-Apr
Payment

403.5
0


30



Любая помощь будет оценена.

Подробнее здесь: https://stackoverflow.com/questions/796 ... ively-to-f
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»