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
|