Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -11,6 +11,7 @@ from reportlab.lib.styles import getSampleStyleSheet
|
|
| 11 |
import shutil
|
| 12 |
import os
|
| 13 |
|
|
|
|
| 14 |
# Function to save results in a PDF file
|
| 15 |
def save_results_to_pdf(results_formatados, intervalo_confiança, valores_finais):
|
| 16 |
doc = SimpleDocTemplate("resultados.pdf", pagesize=letter)
|
|
@@ -94,6 +95,35 @@ def avaliacao_imovel(planilha, num_linhas_desejadas=10):
|
|
| 94 |
df_area_terreno['fat'] = round((df_area_terreno['razao']) ** (df_area_terreno['n']), 2)
|
| 95 |
df_area_terreno = df_area_terreno[['fat']]
|
| 96 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 97 |
#-----------------#
|
| 98 |
|
| 99 |
# fator idade aparente e conservação (fic)
|
|
@@ -195,20 +225,21 @@ def avaliacao_imovel(planilha, num_linhas_desejadas=10):
|
|
| 195 |
#-----------------#
|
| 196 |
|
| 197 |
# concatemando o dataframe principal com as dataframes dos fatores
|
| 198 |
-
result = pd.concat([df_dados, df_transp, df_area_const, df_area_terreno, df_idade_cons, df_padrao, df_vaga, df_exc], axis=1)
|
| 199 |
result['Valor_desc'] = round(result['Valor']*(result['fof']), 2)
|
| 200 |
result['Vunit'] = round((result['Valor_desc']/result['Área Construída']), 2)
|
| 201 |
-
result = result[['Atratividade local', 'Área Construída', 'Área Terreno',
|
| 202 |
-
|
| 203 |
-
|
| 204 |
-
|
| 205 |
result['Vunit_hom'] = round(result['Vunit'] * result['fal'] * \
|
| 206 |
-
|
| 207 |
-
|
| 208 |
-
|
| 209 |
-
|
| 210 |
-
|
| 211 |
-
|
|
|
|
| 212 |
|
| 213 |
|
| 214 |
# RESULTADOS ESTATÍSTICOS INICIAIS
|
|
|
|
| 11 |
import shutil
|
| 12 |
import os
|
| 13 |
|
| 14 |
+
|
| 15 |
# Function to save results in a PDF file
|
| 16 |
def save_results_to_pdf(results_formatados, intervalo_confiança, valores_finais):
|
| 17 |
doc = SimpleDocTemplate("resultados.pdf", pagesize=letter)
|
|
|
|
| 95 |
df_area_terreno['fat'] = round((df_area_terreno['razao']) ** (df_area_terreno['n']), 2)
|
| 96 |
df_area_terreno = df_area_terreno[['fat']]
|
| 97 |
|
| 98 |
+
#-----------------#
|
| 99 |
+
|
| 100 |
+
# fator topografia (ftp)
|
| 101 |
+
# dicionário topografia
|
| 102 |
+
dict_topo = {
|
| 103 |
+
'plano|<5%': 1,
|
| 104 |
+
'aclive_leve|5% e 30%': 0.95,
|
| 105 |
+
'declive_leve|5% e 30%': 0.90,
|
| 106 |
+
'aclive_acentuado|>30%': 0.85,
|
| 107 |
+
'declive_acentuado|>30%': 0.80,
|
| 108 |
+
}
|
| 109 |
+
|
| 110 |
+
# cria dataframe apenas com as colunas necessárias a partir do dataframe dos dados
|
| 111 |
+
df_topografia = df_dados.copy()
|
| 112 |
+
df_topografia = df_topografia[['Topografia']]
|
| 113 |
+
|
| 114 |
+
# cria dataframe apenas com as colunas necessárias a partir do dataframe do avaliando
|
| 115 |
+
df_topografia_aval = df_avaliando.copy()
|
| 116 |
+
df_topografia_aval = df_topografia_aval[['Topografia']]
|
| 117 |
+
|
| 118 |
+
# Função para mapear os valores de Topografia para cod_topo usando o dicionário
|
| 119 |
+
def mapear_cod_topo(topografia):
|
| 120 |
+
return dict_topo.get(topografia, 0) # 0 como valor padrão caso a topografia não esteja no dicionário
|
| 121 |
+
# Aplicando a função para criar a coluna cod_topo em df_dados e df_avaliando
|
| 122 |
+
df_topografia['coef_tp'] = df_topografia['Topografia'].apply(mapear_cod_topo)
|
| 123 |
+
df_topografia_aval['coef_tp'] = df_topografia_aval['Topografia'].apply(mapear_cod_topo)
|
| 124 |
+
df_topografia['ftp'] = round(df_topografia_aval['coef_tp'][0]/df_topografia['coef_tp'],2)
|
| 125 |
+
df_topografia = df_topografia[['ftp']]
|
| 126 |
+
|
| 127 |
#-----------------#
|
| 128 |
|
| 129 |
# fator idade aparente e conservação (fic)
|
|
|
|
| 225 |
#-----------------#
|
| 226 |
|
| 227 |
# concatemando o dataframe principal com as dataframes dos fatores
|
| 228 |
+
result = pd.concat([df_dados, df_transp, df_area_const, df_area_terreno, df_topografia, df_idade_cons, df_padrao, df_vaga, df_exc], axis=1)
|
| 229 |
result['Valor_desc'] = round(result['Valor']*(result['fof']), 2)
|
| 230 |
result['Vunit'] = round((result['Valor_desc']/result['Área Construída']), 2)
|
| 231 |
+
result = result[['Atratividade local', 'Área Construída', 'Área Terreno', 'Topografia',
|
| 232 |
+
'Idade aparente e conservação', 'Padrão construtivo', 'Vagas',
|
| 233 |
+
'Coeficiente extra', 'Valor', 'fof','Valor_desc', 'Vunit','fal', 'fac', 'fat', 'ftp', 'fic',
|
| 234 |
+
'fpd', 'fvg', 'fex']]
|
| 235 |
result['Vunit_hom'] = round(result['Vunit'] * result['fal'] * \
|
| 236 |
+
result['fac'] * \
|
| 237 |
+
result['fat'] * \
|
| 238 |
+
result['ftp'] * \
|
| 239 |
+
result['fic'] * \
|
| 240 |
+
result['fpd'] * \
|
| 241 |
+
result['fvg'] * \
|
| 242 |
+
result['fex'], 2)
|
| 243 |
|
| 244 |
|
| 245 |
# RESULTADOS ESTATÍSTICOS INICIAIS
|