概要
以下のデータフレームに、元利均等返済の支払1回目~120回目の元本残高を格納した長さ120のリストの列を追加したい。
python3
1元となるデータフレーム(df) 2|借入金額|借入利率|返済回数| 3|1000000|0.12|60| 4|2000000|0.10|48| 5----------------------------- 6下記URLの辞書型による列作成方法を参考にしています。 7https://qiita.com/simonritchie/items/dd737a52cf32b662675c 8 9df.reset_index(drop=True,inplace=True) 10df['index_val'] = df.index 11df["借入利率_月"]=df["借入利率"] / 12 #月利に変換 12pv_dict =df.借入金額.to_dict() 13rate_dict =df.借入利率_月.to_dict() 14nper_dict =df.返済回数.to_dict() 15ganikin=0 16per=np.arange(1,121,1) #全て120回払いと想定 17ganpon_dict=df.借入金額.to_dict() 18 19def ganri(index): 20 21 pv =pv_dict[index] 22 rate =rate_dict[index] 23 nper =nper_dict[index] 24 ganpon =ganpon_dict[index] 25 26 zan_list=[] #元本残高を格納するリスト 27 gankin=0 28 29 for i in per: 30 #nupmyのppmt関数を使用 31 gankin =gankin+np.abs(np.abs(np.ppmt(rate,len(np.arange(1,i+1,1)),nper,pv,fv=0,when="end"))) 32 ganpon2=ganpon-gankin 33 zan_list.append(ganpon2) 34 return zan_list 35 36df["元金"]=df.index_val.apply(gankin)
知りたいこと
上記方法で120個の元本残高が格納されたリストをデータフレームに追加する自体は可能なのですが、appendでリストに追加する方法では大量データに耐え切れず、まともに動かない状態です。ほかに良い方法はありませんでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/26 09:48