Spaces:
Sleeping
Sleeping
| # load_process.py | |
| import os | |
| import pandas as pd | |
| import geopandas as gpd | |
| from download_data import get_data_file | |
| def load_bairros(): | |
| return gpd.read_file(get_data_file("shape_bairros.gpkg")) | |
| def load_coleta(): | |
| return gpd.read_file(get_data_file("shape_coleta.gpkg")) | |
| def load_descartes(): | |
| return gpd.read_file(get_data_file("Pontos_descartes_ML.gpkg")) | |
| def load_tabelas(): | |
| df1 = pd.read_csv(get_data_file("tabela_total_com_DIEs.csv")) | |
| df2 = pd.read_csv(get_data_file("Bairros_Ncoleta.csv")) | |
| return df1, df2 | |
| def load_files(ponto_descarte=None): | |
| # Leitura dos dados principais | |
| gdf = gpd.read_file(get_data_file("shape_bairros.gpkg")).rename(columns={'NM_BAIRRO': 'Bairro'}) | |
| df1 = pd.read_csv(get_data_file("tabela_total_com_DIEs.csv")) | |
| df2 = pd.read_csv(get_data_file("Bairros_Ncoleta.csv")) | |
| # Merge das tabelas | |
| df = df1.merge(df2, on='Bairro', how='left') | |
| gdf_m = gdf.merge(df, on='Bairro', how='left') | |
| # % de moradores sem renda | |
| gdf_m['NS'] = (gdf_m['Mor'] - gdf_m['N_ren']) / gdf_m['Mor'] | |
| colunas = list(gdf_m.columns) | |
| colunas.remove('NS') | |
| colunas.insert(7, 'NS') | |
| gdf_m = gdf_m[colunas] | |
| # Classificação de risco | |
| def categorizar_dies(dies): | |
| if dies == 0: | |
| return 1 | |
| elif 1 <= dies <= 3: | |
| return 2 | |
| elif 4 <= dies <= 6: | |
| return 3 | |
| else: | |
| return 4 | |
| gdf_m['Risco'] = gdf_m['DIEs'].apply(categorizar_dies) | |
| # Dados para gráficos | |
| df_plot = gdf_m.drop(columns=['geometry', 'V_setores_val']) | |
| list_feature = df_plot.drop(columns='Risco').select_dtypes(include=['number']).columns | |
| feat_options = [{'label': f, 'value': f, 'description': None} for f in list_feature] | |
| descr = [ | |
| 'Área do Bairro (km²)', | |
| 'Número Total de Habitações', | |
| 'Número Total de Moradores', | |
| 'Relação Moradores/Habitação', | |
| 'Número de Moradores com Renda', | |
| '% de moradores sem renda', | |
| 'Renda média do Morador', | |
| 'Mediana da renda do Morador', | |
| 'Taxa de alfabetização', | |
| 'IDH Renda', | |
| 'IDH Longevidade', | |
| 'IDH Educação', | |
| 'Índice de Desenvolvimento Humano', | |
| 'Quantidade de Depósitos Irregulares', | |
| 'Concentração de riqueza por área', | |
| 'Percentual da população com rendimento', | |
| 'Quantidade estimada de Depósitos Irregulares', | |
| 'Média de dias de coleta de lixo', | |
| 'Quantidade de setores/rotas de coleta' | |
| ] | |
| for i, d in enumerate(descr): | |
| if i < len(feat_options): | |
| feat_options[i]['description'] = d | |
| if ponto_descarte: | |
| gdf_p = gpd.read_file( | |
| get_data_file("Pontos_descartes_ML.gpkg") | |
| ) | |
| return gdf_m, df_plot, list_feature, feat_options, gdf_p | |
| return gdf_m, df_plot, list_feature, feat_options | |