allknowingroger stu1180 commited on
Commit
0b5165b
·
0 Parent(s):

Duplicate from stu1180/Airbnb-MapTest

Browse files

Co-authored-by: Studio1180 <[email protected]>

Files changed (6) hide show
  1. .gitattributes +31 -0
  2. AB_NYC_2019.csv +0 -0
  3. README.md +14 -0
  4. app.py +56 -0
  5. gradio.html +3 -0
  6. requirements.txt +2 -0
.gitattributes ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ftz filter=lfs diff=lfs merge=lfs -text
6
+ *.gz filter=lfs diff=lfs merge=lfs -text
7
+ *.h5 filter=lfs diff=lfs merge=lfs -text
8
+ *.joblib filter=lfs diff=lfs merge=lfs -text
9
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
10
+ *.model filter=lfs diff=lfs merge=lfs -text
11
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
12
+ *.npy filter=lfs diff=lfs merge=lfs -text
13
+ *.npz filter=lfs diff=lfs merge=lfs -text
14
+ *.onnx filter=lfs diff=lfs merge=lfs -text
15
+ *.ot filter=lfs diff=lfs merge=lfs -text
16
+ *.parquet filter=lfs diff=lfs merge=lfs -text
17
+ *.pickle filter=lfs diff=lfs merge=lfs -text
18
+ *.pkl filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pt filter=lfs diff=lfs merge=lfs -text
21
+ *.pth filter=lfs diff=lfs merge=lfs -text
22
+ *.rar filter=lfs diff=lfs merge=lfs -text
23
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
24
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
25
+ *.tflite filter=lfs diff=lfs merge=lfs -text
26
+ *.tgz filter=lfs diff=lfs merge=lfs -text
27
+ *.wasm filter=lfs diff=lfs merge=lfs -text
28
+ *.xz filter=lfs diff=lfs merge=lfs -text
29
+ *.zip filter=lfs diff=lfs merge=lfs -text
30
+ *.zst filter=lfs diff=lfs merge=lfs -text
31
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
AB_NYC_2019.csv ADDED
The diff for this file is too large to render. See raw diff
 
README.md ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: NYC Airbnb Map
3
+ emoji: 🏃
4
+ colorFrom: purple
5
+ colorTo: indigo
6
+ sdk: gradio
7
+ sdk_version: 3.8.2
8
+ app_file: app.py
9
+ pinned: false
10
+ license: apache-2.0
11
+ duplicated_from: stu1180/Airbnb-MapTest
12
+ ---
13
+
14
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
app.py ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ HEADER = "Find Your Airbnb\nThis program filters Airbnb listings in New York City by price range and borough."
2
+ print(HEADER + "\n")
3
+
4
+ import gradio as gr
5
+ import pandas as pd
6
+ import plotly.graph_objects as go
7
+
8
+ df = pd.read_csv("AB_NYC_2019.csv")
9
+
10
+ def filter_map(min_price, max_price, boroughs):
11
+
12
+ filtered_df = df[(df['neighbourhood_group'].isin(boroughs)) &
13
+ (df['price'] > min_price) & (df['price'] < max_price)]
14
+ names = filtered_df["name"].tolist()
15
+ prices = filtered_df["price"].tolist()
16
+ text_list = [(names[i], prices[i]) for i in range(0, len(names))]
17
+ fig = go.Figure(go.Scattermapbox(
18
+ customdata=text_list,
19
+ lat=filtered_df['latitude'].tolist(),
20
+ lon=filtered_df['longitude'].tolist(),
21
+ mode='markers',
22
+ marker=go.scattermapbox.Marker(
23
+ size=6
24
+ ),
25
+ hoverinfo="text",
26
+ hovertemplate='<b>Name</b>: %{customdata[0]}<br><b>Price</b>: $%{customdata[1]}'
27
+ ))
28
+
29
+ fig.update_layout(
30
+ mapbox_style="open-street-map",
31
+ hovermode='closest',
32
+ mapbox=dict(
33
+ bearing=0,
34
+ center=go.layout.mapbox.Center(
35
+ lat=40.67,
36
+ lon=-73.90
37
+ ),
38
+ pitch=0,
39
+ zoom=9
40
+ ),
41
+ )
42
+
43
+ return fig
44
+
45
+ with gr.Blocks() as demo:
46
+ with gr.Column():
47
+ with gr.Row():
48
+ min_price = gr.Number(value=50, label="Minimum Price")
49
+ max_price = gr.Number(value=300, label="Maximum Price")
50
+ boroughs = gr.CheckboxGroup(choices=["Queens", "Brooklyn", "Manhattan", "Bronx", "Staten Island"], value=["Queens", "Brooklyn"], label="Select Boroughs:")
51
+ btn = gr.Button(value="Update Filter")
52
+ map = gr.Plot().style()
53
+ demo.load(filter_map, [min_price, max_price, boroughs], map)
54
+ btn.click(filter_map, [min_price, max_price, boroughs], map)
55
+
56
+ demo.launch()
gradio.html ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ <script type="module"
2
+ src="https://gradio.s3-us-west-2.amazonaws.com/3.12.0/gradio.js">
3
+ </script>
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ plotly
2
+ pandas