Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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[:,
|
381 |
-
min = result.iloc[:,
|
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
|