DavidSB commited on
Commit
2e6f463
1 Parent(s): 69e8b29

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +35 -5
app.py CHANGED
@@ -197,6 +197,34 @@ def avaliacao_imovel(planilha, num_linhas_desejadas=10, caract_avaliando='Defina
197
  df_topografia = df_topografia[['ftp']]
198
 
199
  #-----------------#
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
200
 
201
  # fator idade aparente e conservação (fic)
202
  # dicionário padrão construtivo
@@ -299,22 +327,24 @@ def avaliacao_imovel(planilha, num_linhas_desejadas=10, caract_avaliando='Defina
299
  #-----------------#
300
 
301
  # concatemando o dataframe principal com as dataframes dos fatores
302
- result = pd.concat([df_dados, df_transp, df_area_const, df_area_terreno, df_profundidade, df_topografia, df_idade_cons, df_padrao, df_vaga, df_exc], axis=1)
303
  result['Valor_desc'] = round(result['Valor']*(result['fof']), 2)
304
  result['Vunit'] = round((result['Valor_desc']/result['Área Construída']), 2)
305
- result = result[['lat','lon','Atratividade local', 'Área Construída', 'Área Terreno', 'Testada', 'Topografia',
306
  'Idade aparente e conservação', 'Padrão construtivo', 'Vagas',
307
- 'Coeficiente extra', 'Valor', 'fof','Valor_desc', 'Vunit','fal', 'fac', 'fat','fpe', 'ftp', 'fic',
308
  'fpd', 'fvg', 'fex']]
309
  result['Vunit_hom'] = round(result['Vunit'] * result['fal'] * \
310
  result['fac'] * \
311
  result['fat'] * \
312
  result['fpe'] * \
313
  result['ftp'] * \
 
314
  result['fic'] * \
315
  result['fpd'] * \
316
  result['fvg'] * \
317
  result['fex'], 2)
 
318
  #-----------------#
319
 
320
  # RESULTADOS ESTATÍSTICOS INICIAIS
@@ -377,8 +407,8 @@ def avaliacao_imovel(planilha, num_linhas_desejadas=10, caract_avaliando='Defina
377
  item_3 = 1
378
 
379
  # item_4 - Graus de Fundamentação ( Intervalo admissível de ajuste para o conjunto de fatores)
380
- max = result.iloc[:, 15:23].max().max()
381
- min = result.iloc[:, 15:23].min().min()
382
  if num >= 5:
383
  if min >= 0.8 and max <= 1.2:
384
  item_4 = 3
 
197
  df_topografia = df_topografia[['ftp']]
198
 
199
  #-----------------#
200
+
201
+ # fator superfície (fsp)
202
+ # dicionário topografia
203
+ dict_sup = {
204
+ 'plana' : 1.1,
205
+ 'ondulada': 1.00,
206
+ 'montanhosa/acidentada': 0.80,
207
+ 'não se aplica' : 1.00,
208
+ }
209
+
210
+ # cria dataframe apenas com as colunas necessárias a partir do dataframe dos dados
211
+ df_superficie = df_dados.copy()
212
+ df_superficie = df_superficie[['Superfície']]
213
+
214
+ # cria dataframe apenas com as colunas necessárias a partir do dataframe do avaliando
215
+ df_superficie_aval = df_avaliando.copy()
216
+ df_superficie_aval = df_superficie_aval[['Superfície']]
217
+
218
+ # Função para mapear os valores de Topografia para cod_topo usando o dicionário
219
+ def mapear_cod_sup(superficie):
220
+ return dict_sup.get(superficie, 0) # 0 como valor padrão caso a superficie não esteja no dicionário
221
+ # Aplicando a função para criar a coluna cod_topo em df_dados e df_avaliando
222
+ df_superficie['coef_sp'] = df_superficie['Superfície'].apply(mapear_cod_sup)
223
+ df_superficie_aval['coef_sp'] = df_superficie_aval['Superfície'].apply(mapear_cod_sup)
224
+ df_superficie['fsp'] = round(df_superficie_aval['coef_sp'][0]/df_superficie['coef_sp'],2)
225
+ df_superficie = df_superficie[['fsp']]
226
+
227
+ #-----------------#
228
 
229
  # fator idade aparente e conservação (fic)
230
  # dicionário padrão construtivo
 
327
  #-----------------#
328
 
329
  # concatemando o dataframe principal com as dataframes dos fatores
330
+ result = pd.concat([df_dados, df_transp, df_area_const, df_area_terreno, df_profundidade, df_topografia, df_superficie, df_idade_cons, df_padrao, df_vaga, df_exc], axis=1)
331
  result['Valor_desc'] = round(result['Valor']*(result['fof']), 2)
332
  result['Vunit'] = round((result['Valor_desc']/result['Área Construída']), 2)
333
+ result = result[['lat','lon','Atratividade local', 'Área Construída', 'Área Terreno', 'Testada', 'Topografia', 'Superfície',
334
  'Idade aparente e conservação', 'Padrão construtivo', 'Vagas',
335
+ 'Coeficiente extra', 'Valor', 'fof','Valor_desc', 'Vunit','fal', 'fac', 'fat','fpe', 'ftp','fsp', 'fic',
336
  'fpd', 'fvg', 'fex']]
337
  result['Vunit_hom'] = round(result['Vunit'] * result['fal'] * \
338
  result['fac'] * \
339
  result['fat'] * \
340
  result['fpe'] * \
341
  result['ftp'] * \
342
+ result['fsp'] * \
343
  result['fic'] * \
344
  result['fpd'] * \
345
  result['fvg'] * \
346
  result['fex'], 2)
347
+
348
  #-----------------#
349
 
350
  # RESULTADOS ESTATÍSTICOS INICIAIS
 
407
  item_3 = 1
408
 
409
  # item_4 - Graus de Fundamentação ( Intervalo admissível de ajuste para o conjunto de fatores)
410
+ max = result.iloc[:, 16:26].max().max()
411
+ min = result.iloc[:, 16:26].min().min()
412
  if num >= 5:
413
  if min >= 0.8 and max <= 1.2:
414
  item_4 = 3