DavidSB commited on
Commit
f51d181
1 Parent(s): ac8e759

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -8
app.py CHANGED
@@ -228,6 +228,17 @@ def avaliacao_imovel(planilha, num_linhas_desejadas=5):
228
  ls_IC = round(media + tc * ((desvio_padrao/(num-1)**0.5)), 2)
229
  A = round(ls_IC - li_IC, 2)
230
  A_perc = round((A / media)*100, 2)
 
 
 
 
 
 
 
 
 
 
 
231
  # Crie uma string formatada com o INTEREVALO DE CONFIANÇA DE 80%
232
  intervalo_confiança = f"""
233
  t student: {tc}
@@ -236,6 +247,7 @@ def avaliacao_imovel(planilha, num_linhas_desejadas=5):
236
  limite superior IC_80%: {ls_IC} R$/m²
237
  Aplitude: {A} R$/m²
238
  Aplitude %: {A_perc} %
 
239
  """
240
 
241
  # VALOR CALCULADO A PARTIR DOS VALORES HOMOGENEIZADOS UTILIZANDO O CRITÉRIO DE CLASSAS D0 ABUNAHMAN
@@ -249,14 +261,7 @@ def avaliacao_imovel(planilha, num_linhas_desejadas=5):
249
  list_C1 = result[(result['Vunit_hom'] >= li_IC) & (result['Vunit_hom'] <= li_IC + C)]['Vunit_hom'].tolist()
250
  list_C2 = result[(result['Vunit_hom'] >= li_IC + C) & (result['Vunit_hom'] <= ls_IC - C)]['Vunit_hom'].tolist()
251
  list_C3 = result[(result['Vunit_hom'] >= ls_IC - C) & (result['Vunit_hom'] <= ls_IC)]['Vunit_hom'].tolist()
252
- # ponderação
253
- #pesos = [C1 * elemento for elemento in list_C1] + [C2 * elemento for elemento in list_C2] + [C3 * elemento for elemento in list_C3]
254
- #soma_valores = round(sum(pesos), 2)
255
- #nC1 = 1 if C1 == 0 else C1
256
- #nC2 = 1 if C2 == 0 else C2
257
- #nC3 = 1 if C3 == 0 else C3
258
- #nC = nC1 + nC2 + nC3
259
- #media_pond = round(soma_valores / nC, 2)
260
 
261
  pC1 = round(sum(C1 * elemento for elemento in list_C1), 2)
262
  pC2 = round(sum(C2 * elemento for elemento in list_C2), 2)
@@ -334,6 +339,7 @@ def avaliacao_imovel(planilha, num_linhas_desejadas=5):
334
  'Limite inferior do IC de 80%': [li_IC],
335
  'Amplitude': [A],
336
  'Amplitude%':[A_perc]
 
337
  })
338
 
339
  # Transponha o DataFrame
 
228
  ls_IC = round(media + tc * ((desvio_padrao/(num-1)**0.5)), 2)
229
  A = round(ls_IC - li_IC, 2)
230
  A_perc = round((A / media)*100, 2)
231
+ def calcular_grau(a):
232
+ if a <= 30:
233
+ return "Grau III"
234
+ elif a <= 40:
235
+ return "Grau II"
236
+ elif a <= 50:
237
+ return "Grau I"
238
+ else:
239
+ return "Fora dos critérios"
240
+ precisao = calcular_grau(A_perc)
241
+
242
  # Crie uma string formatada com o INTEREVALO DE CONFIANÇA DE 80%
243
  intervalo_confiança = f"""
244
  t student: {tc}
 
247
  limite superior IC_80%: {ls_IC} R$/m²
248
  Aplitude: {A} R$/m²
249
  Aplitude %: {A_perc} %
250
+ Grau de Precisão: {precisao}
251
  """
252
 
253
  # VALOR CALCULADO A PARTIR DOS VALORES HOMOGENEIZADOS UTILIZANDO O CRITÉRIO DE CLASSAS D0 ABUNAHMAN
 
261
  list_C1 = result[(result['Vunit_hom'] >= li_IC) & (result['Vunit_hom'] <= li_IC + C)]['Vunit_hom'].tolist()
262
  list_C2 = result[(result['Vunit_hom'] >= li_IC + C) & (result['Vunit_hom'] <= ls_IC - C)]['Vunit_hom'].tolist()
263
  list_C3 = result[(result['Vunit_hom'] >= ls_IC - C) & (result['Vunit_hom'] <= ls_IC)]['Vunit_hom'].tolist()
264
+
 
 
 
 
 
 
 
265
 
266
  pC1 = round(sum(C1 * elemento for elemento in list_C1), 2)
267
  pC2 = round(sum(C2 * elemento for elemento in list_C2), 2)
 
339
  'Limite inferior do IC de 80%': [li_IC],
340
  'Amplitude': [A],
341
  'Amplitude%':[A_perc]
342
+ 'Grau de Precisão': [precisao]
343
  })
344
 
345
  # Transponha o DataFrame