有同学问到怎么用sql写"等额本息月还款明细",主要是想看每个月还剩下多少本金,用Python简单实现了一下
对比百度的计算器,ok!
代码如下:
import numpy as np
import pandas as pd
#c #本金
#r #年利率 r/12为月利率
#m #月份
#mhk = (c*r/12*(1+r/12)**m)/((1+r/12)**m-1) #等额本息每月还款
#total = mhk*m # 还款总额
def p(c,r,m):
col = ['本金','每月应还本息','应还本金','应还利息','剩余本金'] #表头
df = pd.DataFrame([[0 for i in range(5)] for j in range(m+1)],index = list(range(m+1)),columns=col)
df.iloc[0,0] = c
df.iloc[:,1] = (c*r/12*(1+r/12)**m)/((1+r/12)**m-1)
i = 0
for i in range(m):
j = i +1
lixi = df.iloc[i,0] *( r/12)
df.iloc[i,3] = lixi
df.iloc[i,2] = df.iloc[i,1] - df.iloc[i,3]
df.iloc[i,4] = df.iloc[i,0] - df.iloc[i,2]
df.iloc[j,0] = df.iloc[i,4]
i += 1
df1 = df.iloc[0:m,:].round(2)
df1.index = range(1,m+1)
return df1
p(c=10000,r=0.05,m=12)
领取专属 10元无门槛券
私享最新 技术干货