madsryfeldt commited on
Commit
2d746e8
1 Parent(s): 2e9c368

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -13
app.py CHANGED
@@ -2,26 +2,28 @@ import pandas as pd
2
  import streamlit as st
3
 
4
  # Read the CSV file into a Pandas DataFrame
5
- df = pd.read_csv('cph_airbnb_listings.csv')
6
-
7
- # Sort the DataFrame by 'neighbourhood' and then by 'price'
8
- sorted_df = df.sort_values(by=['neighbourhood', 'price'])
9
 
10
  # Create a Streamlit app
11
- st.title('my_first_app')
12
 
13
- # Allow user to select a specific neighbourhood
14
- selected_neighbourhood = st.selectbox('Select Neighbourhood', sorted_df['neighbourhood'].unique())
15
 
16
- # Filter the DataFrame based on selected neighbourhood
17
- filtered_df = sorted_df[sorted_df['neighbourhood'] == selected_neighbourhood]
18
 
19
  # Allow user to set a price range filter
20
- price_range = st.slider('Select Price Range', min_value=0, max_value=10000, step=10, value=(0, 1000))
21
-
22
- # Filter the DataFrame based on selected price range
 
 
 
 
 
23
  filtered_df = filtered_df[(filtered_df['price'] >= price_range[0]) & (filtered_df['price'] <= price_range[1])]
24
 
25
  # Display the filtered DataFrame
26
  st.write('Below is the sorted and filtered data:')
27
- st.write(filtered_df)
 
2
  import streamlit as st
3
 
4
  # Read the CSV file into a Pandas DataFrame
5
+ df = pd.read_csv('your_file.csv')
 
 
 
6
 
7
  # Create a Streamlit app
8
+ st.title('Sorted and Filtered Data by Neighbourhood and Price')
9
 
10
+ # Allow user to add filters for neighbourhoods
11
+ selected_neighbourhoods = st.sidebar.multiselect('Select Neighbourhood(s)', df['neighbourhood'].unique())
12
 
13
+ # Allow user to add filter for room type
14
+ selected_room_type = st.sidebar.selectbox('Select Room Type', ['Private room', 'Entire home/apt'])
15
 
16
  # Allow user to set a price range filter
17
+ price_range = st.sidebar.slider('Select Price Range', min_value=0, max_value=1000, step=10, value=(0, 1000))
18
+
19
+ # Filter the DataFrame based on selected filters
20
+ filtered_df = df.copy()
21
+ if selected_neighbourhoods:
22
+ filtered_df = filtered_df[filtered_df['neighbourhood'].isin(selected_neighbourhoods)]
23
+ if selected_room_type:
24
+ filtered_df = filtered_df[filtered_df['room_type'] == selected_room_type]
25
  filtered_df = filtered_df[(filtered_df['price'] >= price_range[0]) & (filtered_df['price'] <= price_range[1])]
26
 
27
  # Display the filtered DataFrame
28
  st.write('Below is the sorted and filtered data:')
29
+ st.write(filtered_df)