Я работаю над проектом под названием «Финансовый», в котором я получил вывод, но я хочу удалить символ «-» из моего фрейма данных. Я попробовал больше, пожалуйста, кто-нибудь может мне помочь, спасибо заранее.
мой код Python:
import pandas as pd
import numpy as np
from datetime import date
from flask import Flask, request
from flask.json import jsonify
app = Flask(__name__)
@app.route("/sampleCalc", methods=['post'])
def samplecalc():
interestrate = float(request.json['interest'])
years = int(request.json['duration'])/12
paymentsyear = 12
principal = int(request.json['principal'])
currentdate = date.today()
start_date = (date(currentdate.year, currentdate.month, currentdate.day))
rng = pd.date_range(start_date, periods=years * paymentsyear, freq='MS')
rng.name = "paymentDate"
df = pd.DataFrame(index=rng, columns=['payment', 'roundpayment', 'principal', 'roundprincipal', 'interest', 'roundinterest', 'balance'],
dtype='float')
df.reset_index(inplace=True)
df.index += 1
df.index.name = "Period"
df["payment"] = np.pmt(interestrate / paymentsyear, years * paymentsyear, principal)
df['roundpayment'] = round(df['payment'])
df["principal"] = np.ppmt(interestrate / paymentsyear, df.index, years * paymentsyear, principal)
df['roundprincipal'] = round(df['principal'])
df["interest"] = np.ipmt(interestrate / paymentsyear, df.index, years * paymentsyear, principal)
df['roundinterest'] = round(df['interest'])
df = df.round(2)
df["balance"] = 0
df.loc[1, "balance"] = principal + df.loc[1, "principal"]
for i in range(2, len(df) + 1):
prev_balance = df.ix[i - 1, 'balance']
principal = df.ix[i, 'principal']
if prev_balance == 0:
df.ix[i, ['payment', 'roundpayment', 'principal', 'roundprincipal', 'interest', 'roundinterest', 'balance']] = 0
continue
if abs(principal) <= prev_balance:
df.ix[i, 'balance'] = principal + prev_balance
else:
if prev_balance <= abs(principal):
principal = -prev_balance
# addl_principal = 0
else:
print('else')
df.ix[i, 'balance'] = 0
df.ix[i, 'principal'] = principal
df.ix[i, "payment"] = principal + df.ix[i, "interest"]
df = df.round(2)
d = [{k: df.values[i][v] for v, k in enumerate(df.columns)} for i in range(len(df))]
return jsonify({"data": d})
if __name__ == '__main__':
app.run(debug=True)
Это мой код, из которого я получу расчет emi, основанный на основной сумме, процентах и продолжительности. Ниже я упомянул свой ввод, используя этот вход, чтобы получить результат, подобный этому
{
"data": [
{
"balance": 100414.94,
"interest": -1666.67,
"payment": -101251.73,
"paymentDate": "Sat, 01 Jun 2019 00:00:00 GMT",
"principal": -99585.06,
"roundinterest": -1667,
"roundpayment": -101252,
"roundprincipal": -99585
},
{
"balance": 0,
"interest": -836.79,
"payment": -101251.73,
"paymentDate": "Mon, 01 Jul 2019 00:00:00 GMT",
"principal": -100414.94,
"roundinterest": -837,
"roundpayment": -101252,
"roundprincipal": -100415
}
]
}
мой ввод
{
"principal":200000,
"interest":0.10,
"duration":2
}
я хочу удалить - символ с выхода.