DavidSB commited on
Commit
0d69955
·
verified ·
1 Parent(s): 3086fdd

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +140 -115
app.py CHANGED
@@ -69,7 +69,7 @@ def criar_grafico_dispersao(df, x_column, y_column, hover_name, trendline_color)
69
  #margin=dict(l=0.1, r=1, t=0.1, b=0.1)
70
  )
71
  # Definindo a cor dos pontos
72
- fig.update_traces(marker=dict(color=trendline_color, size=6))
73
  # Definindo a cor da linha de tendência
74
  fig.update_traces(line=dict(color="black"))
75
  # Adicionando o texto com a correlação na linha de tendência
@@ -98,57 +98,67 @@ def avaliacao_imovel(planilha, v_d, scv_d,
98
 
99
  # Carregando os dados
100
  df_dados = pd.read_excel(planilha.name)
 
101
  df_original = df_dados.copy()
102
 
103
  # ---------------------------Nome das variáveis--------------------------#
104
 
105
- # Obtenha os nomes das colunas, excluindo a primeira
106
- nomes_colunas = df_original.columns[1:]
 
 
 
 
 
107
  # Crie a lista de strings com os cabeçalhos formatados
108
- #colunas = [f'Var dependente = {nomes_colunas[0]}'] + [f'Var {i} = {coluna}' for i, coluna in enumerate(nomes_colunas[1:], start=1)]
109
- colunas = [f'Var dependente = **{nomes_colunas[0]}**'] + [f'Var {i} = **{coluna}**' for i, coluna in enumerate(nomes_colunas[1:], start=1)]
110
-
111
 
112
  #-----------------------------------Escalas------------------------------#
113
  # dados
114
- aplicar_operacao(df_dados, scv_d, 1)
115
- aplicar_operacao(df_dados, scv_1, 2)
116
- aplicar_operacao(df_dados, scv_2, 3)
117
- aplicar_operacao(df_dados, scv_3, 4)
118
- aplicar_operacao(df_dados, scv_4, 5)
119
- aplicar_operacao(df_dados, scv_5, 6)
120
- aplicar_operacao(df_dados, scv_6, 7)
121
- aplicar_operacao(df_dados, scv_7, 8)
122
- aplicar_operacao(df_dados, scv_8, 9)
123
- aplicar_operacao(df_dados, scv_9, 10)
124
- aplicar_operacao(df_dados, scv_10, 11)
125
- aplicar_operacao(df_dados, scv_11, 12)
126
- aplicar_operacao(df_dados, scv_12, 13)
127
- aplicar_operacao(df_dados, scv_13, 14)
128
- aplicar_operacao(df_dados, scv_14, 15)
129
- aplicar_operacao(df_dados, scv_15, 16)
130
- aplicar_operacao(df_dados, scv_16, 17)
 
 
 
131
 
132
  #----------------------------Renomear colunas----------------------------#
133
 
134
  #dados
135
- renomeia_colunas(df_dados, 1, scv_d)
136
- renomeia_colunas(df_dados, 2, scv_1)
137
- renomeia_colunas(df_dados, 3, scv_2)
138
- renomeia_colunas(df_dados, 4, scv_3)
139
- renomeia_colunas(df_dados, 5, scv_4)
140
- renomeia_colunas(df_dados, 6, scv_5)
141
- renomeia_colunas(df_dados, 7, scv_6)
142
- renomeia_colunas(df_dados, 8, scv_7)
143
- renomeia_colunas(df_dados, 9, scv_8)
144
- renomeia_colunas(df_dados, 10, scv_9)
145
- renomeia_colunas(df_dados, 11, scv_10)
146
- renomeia_colunas(df_dados, 12, scv_11)
147
- renomeia_colunas(df_dados, 13, scv_12)
148
- renomeia_colunas(df_dados, 14, scv_13)
149
- renomeia_colunas(df_dados, 15, scv_14)
150
- renomeia_colunas(df_dados, 16, scv_15)
151
- renomeia_colunas(df_dados, 17, scv_16)
 
 
 
152
 
153
  #----------------Manipulação das linhas (dados / outiliers----------------#
154
 
@@ -169,22 +179,22 @@ def avaliacao_imovel(planilha, v_d, scv_d,
169
  # Iterar sobre as colunas do DataFrame df_filtrado
170
  for i, col in enumerate(df_filtrado.columns):
171
  # Verificar se a coluna atual deve ser adicionada com base na condição e se ela existe no DataFrame
172
- if (i == 2 and v_1) or \
173
- (i == 3 and v_2) or \
174
- (i == 4 and v_3) or \
175
- (i == 5 and v_4) or \
176
- (i == 6 and v_5) or \
177
- (i == 7 and v_6) or \
178
- (i == 8 and v_7) or \
179
- (i == 9 and v_8) or \
180
- (i == 10 and v_9) or \
181
- (i == 11 and v_10) or \
182
- (i == 12 and v_11) or \
183
- (i == 13 and v_12) or \
184
- (i == 14 and v_13) or \
185
- (i == 15 and v_14) or \
186
- (i == 16 and v_15) or \
187
- (i == 17 and v_16):
188
  if i < len(df_filtrado.columns):
189
  X[col] = df_filtrado.iloc[:, i]
190
 
@@ -208,42 +218,45 @@ def avaliacao_imovel(planilha, v_d, scv_d,
208
  fig_v16 = None
209
 
210
  if v_1:
211
- fig_v1 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[2], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
212
  if v_2:
213
- fig_v2 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[3], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
214
  if v_3:
215
- fig_v3 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[4], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
216
  if v_4:
217
- fig_v4 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[5], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
218
  if v_5:
219
- fig_v5 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[6], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
220
  if v_6:
221
- fig_v6 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[7], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
222
  if v_7:
223
- fig_v7 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[8], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
224
  if v_8:
225
- fig_v8 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[9], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
226
  if v_9:
227
- fig_v9 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[10], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
228
  if v_10:
229
- fig_v10 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[11], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
230
  if v_11:
231
- fig_v11 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[12], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
232
  if v_12:
233
- fig_v12 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[13], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
234
  if v_13:
235
- fig_v13 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[14], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
236
  if v_14:
237
- fig_v14 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[15], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
238
  if v_15:
239
- fig_v15 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[16], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
240
  if v_16:
241
- fig_v16 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[17], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
242
 
243
  #--------------------------Regressão Linerar------------------------------#
244
 
245
  # Variável dependente
246
- y = df_filtrado.iloc[:, 1:2]
 
 
 
247
 
248
  # Adicionando uma constante às variáveis independentes (intercepto)
249
  X = sm.add_constant(X)
@@ -303,7 +316,10 @@ def avaliacao_imovel(planilha, v_d, scv_d,
303
  """
304
 
305
  # Equação do modelo
306
- equacao_modelo = df_filtrado.columns[1] + '='
 
 
 
307
 
308
  # Iterar sobre os coeficientes estimados
309
  for nome_coluna, coeficiente in zip(X.columns, coeficientes):
@@ -354,8 +370,13 @@ def avaliacao_imovel(planilha, v_d, scv_d,
354
  # Adicionando os valores previstos como uma nova coluna ao df_final
355
  df_final['Valores Ajustados'] = round(valores_previstos, 8)
356
  # Criando uma dataframe para os Valores Ajustados x Preços Observados
357
- df_correl = df_final[[df_filtrado.columns[0], df_filtrado.columns[1], 'Valores Ajustados']]
358
- df_correl = df_correl.rename(columns={df_filtrado.columns[1]: 'Preços Observados'})
 
 
 
 
 
359
  df_correl_grafico = df_correl.copy()
360
  # Desfazendo a conversão da escala
361
  if scv_d == 'lny':
@@ -380,46 +401,48 @@ def avaliacao_imovel(planilha, v_d, scv_d,
380
  df_aval_original = df_aval.copy()
381
 
382
  # avaliando(s)
383
- aplicar_operacao(df_aval, scv_d, 1)
384
- aplicar_operacao(df_aval, scv_1, 2)
385
- aplicar_operacao(df_aval, scv_2, 3)
386
- aplicar_operacao(df_aval, scv_3, 4)
387
- aplicar_operacao(df_aval, scv_4, 5)
388
- aplicar_operacao(df_aval, scv_5, 6)
389
- aplicar_operacao(df_aval, scv_6, 7)
390
- aplicar_operacao(df_aval, scv_7, 8)
391
- aplicar_operacao(df_aval, scv_8, 9)
392
- aplicar_operacao(df_aval, scv_9, 10)
393
- aplicar_operacao(df_aval, scv_10, 11)
394
- aplicar_operacao(df_aval, scv_11, 12)
395
- aplicar_operacao(df_aval, scv_12, 13)
396
- aplicar_operacao(df_aval, scv_13, 14)
397
- aplicar_operacao(df_aval, scv_14, 15)
398
- aplicar_operacao(df_aval, scv_15, 16)
399
- aplicar_operacao(df_aval, scv_16, 17)
400
-
 
 
401
 
402
  X_aval = pd.DataFrame()
403
 
404
  # Iterar sobre as colunas do DataFrame df_filtrado
405
  for i, col in enumerate(df_aval.columns):
406
  # Verificar se a coluna atual deve ser adicionada com base na condição e se ela existe no DataFrame
407
- if (i == 2 and v_1) or \
408
- (i == 3 and v_2) or \
409
- (i == 4 and v_3) or \
410
- (i == 5 and v_4) or \
411
- (i == 6 and v_5) or \
412
- (i == 7 and v_6) or \
413
- (i == 8 and v_7) or \
414
- (i == 9 and v_8) or \
415
- (i == 10 and v_9) or \
416
- (i == 11 and v_10) or \
417
- (i == 12 and v_11) or \
418
- (i == 13 and v_12) or \
419
- (i == 14 and v_13) or \
420
- (i == 15 and v_14) or \
421
- (i == 16 and v_15) or \
422
- (i == 17 and v_16):
423
  if i < len(df_aval.columns):
424
  X_aval[col] = df_aval.iloc[:, i]
425
 
@@ -566,8 +589,8 @@ def avaliacao_imovel(planilha, v_d, scv_d,
566
  df_original,
567
  colunas,
568
  resultados_gerais,
569
- resultado_html,
570
  equacao_modelo,
 
571
  df_final,
572
  Listagem_df_maiores_que_2,
573
  pontos_influentes,
@@ -595,6 +618,7 @@ def avaliacao_imovel(planilha, v_d, scv_d,
595
  'planilha_aval.xlsx',
596
  #X_aval,
597
  #X,
 
598
  )
599
 
600
  #--------------------------------------Interface---------------------------------#
@@ -670,8 +694,8 @@ with gr.Blocks(theme=gr.themes.Default(primary_hue="yellow", secondary_hue="yell
670
  cols = gr.Textbox(label="Colunas", scale=1)
671
  with gr.Row():
672
  tx_1 = gr.Textbox(label="Resultados Gerais do Modelo", scale=1)
673
- ht_1 = gr.HTML(label="Resultados por variável")
674
- tx_2 = gr.Textbox(label="Equação do Modelo")
675
  df_2 = gr.Dataframe(label="Planilha Regressão Linear (Variáveis e escalas escolhidas e sem outliers)", height=300)
676
  tx_3 = gr.Textbox(label="Listagem de dados com resíduos padronizados > 2")
677
  tx_5 = gr.Textbox(label="Listagem de pontos Influenciantes (Distância de Cook > 1)")
@@ -700,12 +724,13 @@ with gr.Blocks(theme=gr.themes.Default(primary_hue="yellow", secondary_hue="yell
700
  fl_2 = gr.components.File(label="Resultado da Avaliação")
701
  #df_7 = gr.Dataframe(label="X_avall", height=300)
702
  #df_8 = gr.Dataframe(label="X", height=300)
 
703
 
704
  inputs = [fl_1, drop, rd_0, cb_1, rd_1, cb_2, rd_2, cb_3, rd_3, cb_4, rd_4, cb_5, rd_5, cb_6, rd_6,
705
  cb_7, rd_7, cb_8, rd_8, cb_9, rd_9, cb_10, rd_10, cb_11, rd_11, cb_12, rd_12, cb_13, rd_13,
706
  cb_14, rd_14, cb_15, rd_15, cb_16, rd_16, cb_17]
707
- outputs = [df_1, cols, tx_1, ht_1, tx_2, df_2, tx_3, tx_5, df_3, df_4, df_5, pt_1, pt_2, pt_3, pt_4, pt_5, pt_6,
708
- pt_7, pt_8, pt_9, pt_10, pt_11, pt_12, pt_13, pt_14, pt_15, pt_16, pt_17, df_6, fl_2] #, df_7, df_8
709
 
710
  button_1.click(avaliacao_imovel, inputs=inputs, outputs=outputs)
711
  button_2.click(avaliacao_imovel, inputs=inputs, outputs=outputs)
 
69
  #margin=dict(l=0.1, r=1, t=0.1, b=0.1)
70
  )
71
  # Definindo a cor dos pontos
72
+ fig.update_traces(marker=dict(color=trendline_color, size=5))
73
  # Definindo a cor da linha de tendência
74
  fig.update_traces(line=dict(color="black"))
75
  # Adicionando o texto com a correlação na linha de tendência
 
98
 
99
  # Carregando os dados
100
  df_dados = pd.read_excel(planilha.name)
101
+ df_dados = df_dados.round(4)
102
  df_original = df_dados.copy()
103
 
104
  # ---------------------------Nome das variáveis--------------------------#
105
 
106
+ # Obtenha os nomes das colunas, excluindo a primeira ou a segunda
107
+
108
+ if v_d == "Valor total":
109
+ nomes_colunas = df_original.drop(columns=[df_original.columns[0], df_original.columns[2]]).columns
110
+ else:
111
+ nomes_colunas = df_original.drop(columns=[df_original.columns[0], df_original.columns[1]]).columns
112
+
113
  # Crie a lista de strings com os cabeçalhos formatados
114
+ colunas = [f'Var dependente = {nomes_colunas[0]}'] + [f'Var {i} = {coluna}' for i, coluna in enumerate(nomes_colunas[1:], start=1)]
 
 
115
 
116
  #-----------------------------------Escalas------------------------------#
117
  # dados
118
+ if v_d == "Valor total":
119
+ aplicar_operacao(df_dados, scv_d, 1)
120
+ else:
121
+ aplicar_operacao(df_dados, scv_d, 2)
122
+ aplicar_operacao(df_dados, scv_1, 3)
123
+ aplicar_operacao(df_dados, scv_2, 4)
124
+ aplicar_operacao(df_dados, scv_3, 5)
125
+ aplicar_operacao(df_dados, scv_4, 6)
126
+ aplicar_operacao(df_dados, scv_5, 7)
127
+ aplicar_operacao(df_dados, scv_6, 8)
128
+ aplicar_operacao(df_dados, scv_7, 9)
129
+ aplicar_operacao(df_dados, scv_8, 10)
130
+ aplicar_operacao(df_dados, scv_9, 11)
131
+ aplicar_operacao(df_dados, scv_10, 12)
132
+ aplicar_operacao(df_dados, scv_11, 13)
133
+ aplicar_operacao(df_dados, scv_12, 14)
134
+ aplicar_operacao(df_dados, scv_13, 15)
135
+ aplicar_operacao(df_dados, scv_14, 16)
136
+ aplicar_operacao(df_dados, scv_15, 17)
137
+ aplicar_operacao(df_dados, scv_16, 18)
138
 
139
  #----------------------------Renomear colunas----------------------------#
140
 
141
  #dados
142
+ if v_d == "Valor total":
143
+ renomeia_colunas(df_dados, 1, scv_d)
144
+ else:
145
+ renomeia_colunas(df_dados, 2, scv_d)
146
+ renomeia_colunas(df_dados, 3, scv_1)
147
+ renomeia_colunas(df_dados, 4, scv_2)
148
+ renomeia_colunas(df_dados, 5, scv_3)
149
+ renomeia_colunas(df_dados, 6, scv_4)
150
+ renomeia_colunas(df_dados, 7, scv_5)
151
+ renomeia_colunas(df_dados, 8, scv_6)
152
+ renomeia_colunas(df_dados, 9, scv_7)
153
+ renomeia_colunas(df_dados, 10, scv_8)
154
+ renomeia_colunas(df_dados, 11, scv_9)
155
+ renomeia_colunas(df_dados, 12, scv_10)
156
+ renomeia_colunas(df_dados, 13, scv_11)
157
+ renomeia_colunas(df_dados, 14, scv_12)
158
+ renomeia_colunas(df_dados, 15, scv_13)
159
+ renomeia_colunas(df_dados, 16, scv_14)
160
+ renomeia_colunas(df_dados, 17, scv_15)
161
+ renomeia_colunas(df_dados, 18, scv_16)
162
 
163
  #----------------Manipulação das linhas (dados / outiliers----------------#
164
 
 
179
  # Iterar sobre as colunas do DataFrame df_filtrado
180
  for i, col in enumerate(df_filtrado.columns):
181
  # Verificar se a coluna atual deve ser adicionada com base na condição e se ela existe no DataFrame
182
+ if (i == 3 and v_1) or \
183
+ (i == 4 and v_2) or \
184
+ (i == 5 and v_3) or \
185
+ (i == 6 and v_4) or \
186
+ (i == 7 and v_5) or \
187
+ (i == 8 and v_6) or \
188
+ (i == 9 and v_7) or \
189
+ (i == 10 and v_8) or \
190
+ (i == 11 and v_9) or \
191
+ (i == 12 and v_10) or \
192
+ (i == 13 and v_11) or \
193
+ (i == 14 and v_12) or \
194
+ (i == 15 and v_13) or \
195
+ (i == 16 and v_14) or \
196
+ (i == 17 and v_15) or \
197
+ (i == 18 and v_16):
198
  if i < len(df_filtrado.columns):
199
  X[col] = df_filtrado.iloc[:, i]
200
 
 
218
  fig_v16 = None
219
 
220
  if v_1:
221
+ fig_v1 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[3], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
222
  if v_2:
223
+ fig_v2 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[4], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
224
  if v_3:
225
+ fig_v3 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[5], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
226
  if v_4:
227
+ fig_v4 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[6], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
228
  if v_5:
229
+ fig_v5 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[7], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
230
  if v_6:
231
+ fig_v6 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[8], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
232
  if v_7:
233
+ fig_v7 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[9], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
234
  if v_8:
235
+ fig_v8 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[10], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
236
  if v_9:
237
+ fig_v9 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[11], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
238
  if v_10:
239
+ fig_v10 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[12], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
240
  if v_11:
241
+ fig_v11 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[13], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
242
  if v_12:
243
+ fig_v12 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[14], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
244
  if v_13:
245
+ fig_v13 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[15], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
246
  if v_14:
247
+ fig_v14 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[16], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
248
  if v_15:
249
+ fig_v15 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[17], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
250
  if v_16:
251
+ fig_v16 = criar_grafico_dispersao(df_filtrado, df_filtrado.columns[18], df_filtrado.columns[1], df_filtrado.columns[0], "orange")
252
 
253
  #--------------------------Regressão Linerar------------------------------#
254
 
255
  # Variável dependente
256
+ if v_d == "Valor total":
257
+ y = df_filtrado.iloc[:, 1:2]
258
+ else:
259
+ y = df_filtrado.iloc[:, 2:3]
260
 
261
  # Adicionando uma constante às variáveis independentes (intercepto)
262
  X = sm.add_constant(X)
 
316
  """
317
 
318
  # Equação do modelo
319
+ if v_d == "Valor total":
320
+ equacao_modelo = df_filtrado.columns[1] + '='
321
+ else:
322
+ equacao_modelo = df_filtrado.columns[2] + '='
323
 
324
  # Iterar sobre os coeficientes estimados
325
  for nome_coluna, coeficiente in zip(X.columns, coeficientes):
 
370
  # Adicionando os valores previstos como uma nova coluna ao df_final
371
  df_final['Valores Ajustados'] = round(valores_previstos, 8)
372
  # Criando uma dataframe para os Valores Ajustados x Preços Observados
373
+ if v_d == "Valor total":
374
+ df_correl = df_final[[df_filtrado.columns[0], df_filtrado.columns[1], 'Valores Ajustados']]
375
+ df_correl = df_correl.rename(columns={df_filtrado.columns[1]: 'Preços Observados'})
376
+ else:
377
+ df_correl = df_final[[df_filtrado.columns[0], df_filtrado.columns[2], 'Valores Ajustados']]
378
+ df_correl = df_correl.rename(columns={df_filtrado.columns[2]: 'Preços Observados'})
379
+
380
  df_correl_grafico = df_correl.copy()
381
  # Desfazendo a conversão da escala
382
  if scv_d == 'lny':
 
401
  df_aval_original = df_aval.copy()
402
 
403
  # avaliando(s)
404
+ if v_d == "Valor total":
405
+ aplicar_operacao(df_aval, scv_d, 1)
406
+ else:
407
+ aplicar_operacao(df_aval, scv_d, 2)
408
+ aplicar_operacao(df_aval, scv_1, 3)
409
+ aplicar_operacao(df_aval, scv_2, 4)
410
+ aplicar_operacao(df_aval, scv_3, 5)
411
+ aplicar_operacao(df_aval, scv_4, 6)
412
+ aplicar_operacao(df_aval, scv_5, 7)
413
+ aplicar_operacao(df_aval, scv_6, 8)
414
+ aplicar_operacao(df_aval, scv_7, 9)
415
+ aplicar_operacao(df_aval, scv_8, 10)
416
+ aplicar_operacao(df_aval, scv_9, 11)
417
+ aplicar_operacao(df_aval, scv_10, 12)
418
+ aplicar_operacao(df_aval, scv_11, 13)
419
+ aplicar_operacao(df_aval, scv_12, 14)
420
+ aplicar_operacao(df_aval, scv_13, 15)
421
+ aplicar_operacao(df_aval, scv_14, 16)
422
+ aplicar_operacao(df_aval, scv_15, 17)
423
+ aplicar_operacao(df_aval, scv_16, 18)
424
 
425
  X_aval = pd.DataFrame()
426
 
427
  # Iterar sobre as colunas do DataFrame df_filtrado
428
  for i, col in enumerate(df_aval.columns):
429
  # Verificar se a coluna atual deve ser adicionada com base na condição e se ela existe no DataFrame
430
+ if (i == 3 and v_1) or \
431
+ (i == 4 and v_2) or \
432
+ (i == 5 and v_3) or \
433
+ (i == 6 and v_4) or \
434
+ (i == 7 and v_5) or \
435
+ (i == 8 and v_6) or \
436
+ (i == 9 and v_7) or \
437
+ (i == 10 and v_8) or \
438
+ (i == 11 and v_9) or \
439
+ (i == 12 and v_10) or \
440
+ (i == 13 and v_11) or \
441
+ (i == 14 and v_12) or \
442
+ (i == 15 and v_13) or \
443
+ (i == 16 and v_14) or \
444
+ (i == 17 and v_15) or \
445
+ (i == 18 and v_16):
446
  if i < len(df_aval.columns):
447
  X_aval[col] = df_aval.iloc[:, i]
448
 
 
589
  df_original,
590
  colunas,
591
  resultados_gerais,
 
592
  equacao_modelo,
593
+ resultado_html,
594
  df_final,
595
  Listagem_df_maiores_que_2,
596
  pontos_influentes,
 
618
  'planilha_aval.xlsx',
619
  #X_aval,
620
  #X,
621
+ #y,
622
  )
623
 
624
  #--------------------------------------Interface---------------------------------#
 
694
  cols = gr.Textbox(label="Colunas", scale=1)
695
  with gr.Row():
696
  tx_1 = gr.Textbox(label="Resultados Gerais do Modelo", scale=1)
697
+ tx_2 = gr.Textbox(label="Equação do Modelo")
698
+ ht_1 = gr.HTML(label="Resultados por variável")
699
  df_2 = gr.Dataframe(label="Planilha Regressão Linear (Variáveis e escalas escolhidas e sem outliers)", height=300)
700
  tx_3 = gr.Textbox(label="Listagem de dados com resíduos padronizados > 2")
701
  tx_5 = gr.Textbox(label="Listagem de pontos Influenciantes (Distância de Cook > 1)")
 
724
  fl_2 = gr.components.File(label="Resultado da Avaliação")
725
  #df_7 = gr.Dataframe(label="X_avall", height=300)
726
  #df_8 = gr.Dataframe(label="X", height=300)
727
+ #df_9 = gr.Dataframe(label="y", height=300)
728
 
729
  inputs = [fl_1, drop, rd_0, cb_1, rd_1, cb_2, rd_2, cb_3, rd_3, cb_4, rd_4, cb_5, rd_5, cb_6, rd_6,
730
  cb_7, rd_7, cb_8, rd_8, cb_9, rd_9, cb_10, rd_10, cb_11, rd_11, cb_12, rd_12, cb_13, rd_13,
731
  cb_14, rd_14, cb_15, rd_15, cb_16, rd_16, cb_17]
732
+ outputs = [df_1, cols, tx_1, tx_2, ht_1, df_2, tx_3, tx_5, df_3, df_4, df_5, pt_1, pt_2, pt_3, pt_4, pt_5, pt_6,
733
+ pt_7, pt_8, pt_9, pt_10, pt_11, pt_12, pt_13, pt_14, pt_15, pt_16, pt_17, df_6, fl_2] #, df_7, df_8, df_9]
734
 
735
  button_1.click(avaliacao_imovel, inputs=inputs, outputs=outputs)
736
  button_2.click(avaliacao_imovel, inputs=inputs, outputs=outputs)