fschwartzer commited on
Commit
db72775
1 Parent(s): 3a35340

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -21
app.py CHANGED
@@ -136,7 +136,7 @@ with st.sidebar:
136
  # Add a dropdown for filtering "Tipo"
137
  selected_tipo = st.selectbox('Filtrar por Tipo', data['Tipo'].unique())
138
 
139
- data = data[data['Tipo'] == selected_tipo]
140
 
141
  selected_coords = st.selectbox('Selecione o tipo de pesquisa', ['Ampla', 'Direcionada'])
142
 
@@ -164,8 +164,8 @@ with st.sidebar:
164
  if selected_coords == 'Direcionada':
165
  zoom_level = st.slider('N铆vel de zoom', min_value=1, max_value=15, value=zoom_level)
166
  else:
167
- for index, row in data.iterrows():
168
- distance_all = calculate_distance(row['latitude'], row['longitude'], data['latitude'].mean(), data['longitude'].mean())
169
  if distance_all > max_distance_all:
170
  max_distance_all = distance_all
171
 
@@ -180,31 +180,36 @@ with st.sidebar:
180
  radius_in_meters = st.slider('Selecione raio (em metros)', min_value=100, max_value=5000, value=1000)
181
 
182
  # Add sliders to filter data based
183
- atotal_range = st.slider('脕rea Total', float(data['Atotal'].min()), float(data['Atotal'].max()), (float(data['Atotal'].min()), float(data['Atotal'].max())), step=.1)
184
- apriv_range = st.slider('脕rea Privativa', float(data['Apriv'].min()), float(data['Apriv'].max()), (float(data['Apriv'].min()), float(data['Apriv'].max())), step=.1)
185
- dorm_range = st.slider('Dormit贸rios', int(data['Dorm'].min()), int(data['Dorm'].max()), (int(data['Dorm'].min()), int(data['Dorm'].max())), step=1)
186
- banho_range = st.slider('Banheiros', int(data['Banheiro'].min()), int(data['Banheiro'].max()), (int(data['Banheiro'].min()), int(data['Banheiro'].max())), step=1)
187
- vaga_range = st.slider('Vaga de estacionamento', int(data['Vaga'].min()), int(data['Vaga'].max()), (int(data['Vaga'].min()), int(data['Vaga'].max())), step=1)
 
 
 
188
 
189
  # Add checkboxes for dummy features
190
- elev_checkbox = st.checkbox('Elevador')
191
- churr_checkbox = st.checkbox('Churrasqueira')
192
- esq_checkbox = st.checkbox('Duas ou mais frentes')
 
 
 
193
 
194
  # Transform checkbox values into 1s and 0s
195
  elev_value = 1 if elev_checkbox else 0
196
  churr_value = 1 if churr_checkbox else 0
197
  esq_value = 1 if esq_checkbox else 0
198
 
199
- data = data[(data['Tipo'] == selected_tipo) &
200
- (data['Atotal'].between(atotal_range[0], atotal_range[1])) &
201
- (data['Apriv'].between(apriv_range[0], apriv_range[1])) &
202
- (data['Dorm'].between(dorm_range[0], dorm_range[1])) &
203
- (data['Banheiro'].between(banho_range[0], banho_range[1])) &
204
- (data['Vaga'].between(vaga_range[0], vaga_range[1])) &
205
- (data['Elevador'] == elev_value) &
206
- (data['Churrasq'] == churr_value) &
207
- (data['Lot_pos'] == esq_value)]
208
 
209
 
210
  # Links to other apps at the bottom of the sidebar
@@ -214,7 +219,7 @@ with st.sidebar:
214
 
215
  # Filter data based on the radius
216
  if selected_coords == 'Direcionada':
217
- filtered_data = data[data.apply(lambda x: calculate_distance(x['latitude'], x['longitude'], custom_lat, custom_lon), axis=1) <= radius_in_meters]
218
  filtered_data = filtered_data.dropna() # Drop rows with NaN values
219
 
220
  # Add a custom CSS class to the map container
 
136
  # Add a dropdown for filtering "Tipo"
137
  selected_tipo = st.selectbox('Filtrar por Tipo', data['Tipo'].unique())
138
 
139
+ data_tipo = data[data['Tipo'] == selected_tipo]
140
 
141
  selected_coords = st.selectbox('Selecione o tipo de pesquisa', ['Ampla', 'Direcionada'])
142
 
 
164
  if selected_coords == 'Direcionada':
165
  zoom_level = st.slider('N铆vel de zoom', min_value=1, max_value=15, value=zoom_level)
166
  else:
167
+ for index, row in data_tipo.iterrows():
168
+ distance_all = calculate_distance(row['latitude'], row['longitude'], data_tipo['latitude'].mean(), data_tipo['longitude'].mean())
169
  if distance_all > max_distance_all:
170
  max_distance_all = distance_all
171
 
 
180
  radius_in_meters = st.slider('Selecione raio (em metros)', min_value=100, max_value=5000, value=1000)
181
 
182
  # Add sliders to filter data based
183
+ atotal_range = st.slider('脕rea Total', float(data_tipo['Atotal'].min()), float(data_tipo['Atotal'].max()), (float(data_tipo['Atotal'].min()), float(data_tipo['Atotal'].max())), step=.1)
184
+ apriv_range = st.slider('脕rea Privativa', float(data_tipo['Apriv'].min()), float(data_tipo['Apriv'].max()), (float(data_tipo['Apriv'].min()), float(data_tipo['Apriv'].max())), step=.1)
185
+ if int(data_tipo['Dorm'].min()) != 0 and int(data_tipo['Dorm'].max()) != 0:
186
+ dorm_range = st.slider('Dormit贸rios', int(data_tipo['Dorm'].min()), int(data_tipo['Dorm'].max()), (int(data_tipo['Dorm'].min()), int(data_tipo['Dorm'].max())), step=1)
187
+ if int(data_tipo['Banheiro'].min()) != 0 and int(data_tipo['Banheiro'].max()) != 0:
188
+ banho_range = st.slider('Banheiros', int(data_tipo['Banheiro'].min()), int(data_tipo['Banheiro'].max()), (int(data_tipo['Banheiro'].min()), int(data_tipo['Banheiro'].max())), step=1)
189
+ if int(data_tipo['Vaga'].min()) != 0 and int(data_tipo['Vaga'].max()) != 0:
190
+ vaga_range = st.slider('Vaga de estacionamento', int(data_tipo['Vaga'].min()), int(data_tipo['Vaga'].max()), (int(data_tipo['Vaga'].min()), int(data_tipo['Vaga'].max())), step=1)
191
 
192
  # Add checkboxes for dummy features
193
+ if int(data_tipo['Elevador'].min()) != 0 and int(data_tipo['Elevador'].max()) != 0:
194
+ elev_checkbox = st.checkbox('Elevador')
195
+ if int(data_tipo['Churrasq'].min()) != 0 and int(data_tipo['Churrasq'].max()) != 0:
196
+ churr_checkbox = st.checkbox('Churrasqueira')
197
+ if int(data_tipo['Lot_pos'].min()) != 0 and int(data_tipo['Lot_pos'].max()) != 0:
198
+ esq_checkbox = st.checkbox('Duas ou mais frentes')
199
 
200
  # Transform checkbox values into 1s and 0s
201
  elev_value = 1 if elev_checkbox else 0
202
  churr_value = 1 if churr_checkbox else 0
203
  esq_value = 1 if esq_checkbox else 0
204
 
205
+ data_tipo = data_tipo[(data_tipo['Atotal'].between(atotal_range[0], atotal_range[1])) &
206
+ (data_tipo['Apriv'].between(apriv_range[0], apriv_range[1])) &
207
+ (data_tipo['Dorm'].between(dorm_range[0], dorm_range[1])) &
208
+ (data_tipo['Banheiro'].between(banho_range[0], banho_range[1])) &
209
+ (data_tipo['Vaga'].between(vaga_range[0], vaga_range[1])) &
210
+ (data_tipo['Elevador'] == elev_value) &
211
+ (data_tipo['Churrasq'] == churr_value) &
212
+ (data_tipo['Lot_pos'] == esq_value)]
 
213
 
214
 
215
  # Links to other apps at the bottom of the sidebar
 
219
 
220
  # Filter data based on the radius
221
  if selected_coords == 'Direcionada':
222
+ filtered_data = data_tipo[data_tipo.apply(lambda x: calculate_distance(x['latitude'], x['longitude'], custom_lat, custom_lon), axis=1) <= radius_in_meters]
223
  filtered_data = filtered_data.dropna() # Drop rows with NaN values
224
 
225
  # Add a custom CSS class to the map container