Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -72,26 +72,26 @@ def plotar_mapa_com_dois_dataframes(df1, df2):
|
|
72 |
|
73 |
#-----------------#
|
74 |
|
75 |
-
|
|
|
76 |
# Calcular a média da coluna 'Vunit_hom'
|
77 |
media = data['Vunit_hom'].mean()
|
78 |
|
79 |
# Calcular o percentual de distância à média para cada ponto
|
80 |
-
data['Percentual_Distancia'] = ((data['Vunit_hom'] - media) / media) * 100
|
81 |
|
82 |
# Criar o gráfico de dispersão em relação à média com rótulos
|
83 |
plt.figure(figsize=(8, 8)) # Define o tamanho da figura (opcional)
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
# Adicionar rótulos com percentual de distância à média
|
88 |
-
for i,
|
89 |
-
plt.
|
90 |
|
91 |
# Configurações de gráfico
|
92 |
-
plt.title('
|
93 |
-
plt.xlabel('
|
94 |
-
plt.ylabel('
|
95 |
plt.legend()
|
96 |
|
97 |
# Salvar o gráfico como uma imagem (por exemplo, em formato PNG)
|
@@ -498,8 +498,10 @@ def avaliacao_imovel(planilha, num_linhas_desejadas=3, finalidade='Defina o tipo
|
|
498 |
result['Vunit'] = round((result['Valor_desc']/result['Área Construída']), 2)
|
499 |
else:
|
500 |
result['Vunit'] = round((result['Valor_desc']/result['Área Terreno']), 2)
|
|
|
|
|
501 |
|
502 |
-
result = result[['lat','lon','Endereço','Atratividade local', 'Área Construída', 'Área Terreno', 'Testada', 'Topografia',
|
503 |
'Relevo','Superfície','Aproveitamento','Acessibilidade', 'Idade aparente e conservação', 'Padrão construtivo', 'Vagas',
|
504 |
'Coeficiente extra', 'Valor', 'fof','Valor_desc', 'Vunit','fal', 'fac', 'fat','fpe', 'ftp','frv','fsp',
|
505 |
'fap','fav', 'fic','fpd', 'fvg', 'fex']]
|
@@ -612,8 +614,8 @@ def avaliacao_imovel(planilha, num_linhas_desejadas=3, finalidade='Defina o tipo
|
|
612 |
item_3 = 1
|
613 |
|
614 |
# item_4 - Graus de Fundamentação ( Intervalo admissível de ajuste para o conjunto de fatores)
|
615 |
-
max = result.iloc[:,
|
616 |
-
min = result.iloc[:,
|
617 |
if num >= 5:
|
618 |
if min >= 0.8 and max <= 1.2:
|
619 |
item_4 = 3
|
@@ -890,7 +892,9 @@ def avaliacao_imovel(planilha, num_linhas_desejadas=3, finalidade='Defina o tipo
|
|
890 |
#-----------------#
|
891 |
|
892 |
# para gerar um gráfico de dispersão na interface
|
893 |
-
scatter_plot_with_percent_labels(df_grafico)
|
|
|
|
|
894 |
|
895 |
#-----------------#
|
896 |
|
@@ -932,7 +936,7 @@ interface = gr.Interface(
|
|
932 |
gr.components.Textbox(label="Intervalo de confiança de 80%"),
|
933 |
gr.components.Textbox(label="Valores Calculados"),
|
934 |
gr.Plot(label="Geolocalização da amostra"),
|
935 |
-
gr.Image(label="Gráfico
|
936 |
|
937 |
],
|
938 |
live=False,
|
|
|
72 |
|
73 |
#-----------------#
|
74 |
|
75 |
+
|
76 |
+
def grafico_barras(data):
|
77 |
# Calcular a média da coluna 'Vunit_hom'
|
78 |
media = data['Vunit_hom'].mean()
|
79 |
|
80 |
# Calcular o percentual de distância à média para cada ponto
|
81 |
+
data['Percentual_Distancia'] = round(((data['Vunit_hom'] - media) / media) * 100, 1)
|
82 |
|
83 |
# Criar o gráfico de dispersão em relação à média com rótulos
|
84 |
plt.figure(figsize=(8, 8)) # Define o tamanho da figura (opcional)
|
85 |
+
plt.bar(data['ordem'], data['Percentual_Distancia'], color = 'gray')
|
86 |
+
|
|
|
87 |
# Adicionar rótulos com percentual de distância à média
|
88 |
+
for i, Percentual_Distancia in enumerate(data['Percentual_Distancia']):
|
89 |
+
plt.text(data['ordem'][i], Percentual_Distancia, f'{Percentual_Distancia}%', ha='center', va='bottom', fontsize = 12)
|
90 |
|
91 |
# Configurações de gráfico
|
92 |
+
plt.title('Distância percentual dos dados homogeneizados à média saneada')
|
93 |
+
plt.xlabel('Ordem dos dados')
|
94 |
+
plt.ylabel('% de distância à média')
|
95 |
plt.legend()
|
96 |
|
97 |
# Salvar o gráfico como uma imagem (por exemplo, em formato PNG)
|
|
|
498 |
result['Vunit'] = round((result['Valor_desc']/result['Área Construída']), 2)
|
499 |
else:
|
500 |
result['Vunit'] = round((result['Valor_desc']/result['Área Terreno']), 2)
|
501 |
+
|
502 |
+
result['ordem'] = range(1, len(result)+1)
|
503 |
|
504 |
+
result = result[['ordem', 'lat','lon','Endereço','Atratividade local', 'Área Construída', 'Área Terreno', 'Testada', 'Topografia',
|
505 |
'Relevo','Superfície','Aproveitamento','Acessibilidade', 'Idade aparente e conservação', 'Padrão construtivo', 'Vagas',
|
506 |
'Coeficiente extra', 'Valor', 'fof','Valor_desc', 'Vunit','fal', 'fac', 'fat','fpe', 'ftp','frv','fsp',
|
507 |
'fap','fav', 'fic','fpd', 'fvg', 'fex']]
|
|
|
614 |
item_3 = 1
|
615 |
|
616 |
# item_4 - Graus de Fundamentação ( Intervalo admissível de ajuste para o conjunto de fatores)
|
617 |
+
max = result.iloc[:, 21:34].max().max()
|
618 |
+
min = result.iloc[:, 21:34].min().min()
|
619 |
if num >= 5:
|
620 |
if min >= 0.8 and max <= 1.2:
|
621 |
item_4 = 3
|
|
|
892 |
#-----------------#
|
893 |
|
894 |
# para gerar um gráfico de dispersão na interface
|
895 |
+
#scatter_plot_with_percent_labels(df_grafico)
|
896 |
+
grafico_barras(df_grafico)
|
897 |
+
|
898 |
|
899 |
#-----------------#
|
900 |
|
|
|
936 |
gr.components.Textbox(label="Intervalo de confiança de 80%"),
|
937 |
gr.components.Textbox(label="Valores Calculados"),
|
938 |
gr.Plot(label="Geolocalização da amostra"),
|
939 |
+
gr.Image(label="Gráfico"),
|
940 |
|
941 |
],
|
942 |
live=False,
|