shrut27's picture
Update app.py
d7c7c14
import streamlit as st
import pandas as pd
import folium
from streamlit_folium import folium_static
def main():
st.title("Place Recommender System")
st.write("Please enter your trip information below:")
# use columns to display the inputs and map/recommendations side by side
col1, col2 = st.columns(2)
with col1:
destination = st.text_input("Destination")
category = st.selectbox("Category",('Beach', 'Market', 'Park', 'Tourist place', 'Temple', 'Museum', 'Cafe','Hotels ','Restaurants'))
if st.button("Submit"):
st.write(f"Destination: {destination}")
st.write(f"Category: {category}")
# load recommendations data
recommendations = pd.read_csv('recommendations.csv')
# filter recommendations based on user input
filtered_recommendations = recommendations[(recommendations['Destination'] == destination) &
(recommendations['Category'] == category)]
# display recommendations on map
map_center = filtered_recommendations[['Latitude', 'Longitude']].mean().values.tolist()
my_map = folium.Map(location=map_center, zoom_start=12, tiles='OpenStreetMap')
for _, row in filtered_recommendations.iterrows():
folium.Marker([row['Latitude'], row['Longitude']],
popup=row['Name'],
tooltip=row['Name']).add_to(my_map)
with col2:
st.write("Here are some recommendations on a map:")
folium_static(my_map)
# display recommendations in a list
st.write("Here are some recommendations:")
table = filtered_recommendations[['Name','Description','Reviews','Google Rating(out of 5)']]
table_html = table.to_html(index=False, escape=False)
st.write(table_html, unsafe_allow_html=True)
if __name__ == "__main__":
main()