import streamlit as st import plotly.express as px import plotly.graph_objects as go import pandas as pd from transformers import pipeline # Define the Hugging Face model pipeline nlp = pipeline("sentiment-analysis") # Define the hospital data as a Python list of dictionaries hospital_data = [ {"name": "Mayo Clinic", "beds": 1392, "latitude": 44.0205, "longitude": -92.4630}, {"name": "University of Minnesota Medical Center", "beds": 908, "latitude": 44.9737, "longitude": -93.2278}, {"name": "Abbott Northwestern Hospital", "beds": 631, "latitude": 44.9482, "longitude": -93.2616}, {"name": "St. Cloud Hospital", "beds": 489, "latitude": 45.5563, "longitude": -94.1672}, {"name": "Fairview Southdale Hospital", "beds": 342, "latitude": 44.8788, "longitude": -93.3521} ] # Save the hospital data as a CSV file hospital_df = pd.DataFrame(hospital_data) hospital_df.to_csv("hospital_data.csv", index=False) # Define the Streamlit app def app(): # Set the app title st.title("Minnesota Hospital Data") # Load the hospital data from the CSV file hospital_df = pd.read_csv("hospital_data.csv") # Display the hospital data as a table st.write("Hospital Data:", hospital_df) # Analyze the sentiment of the hospital names using the Hugging Face model sentiment_scores = [nlp(hospital["name"])[0]["score"] for hospital in hospital_data] sentiment_colors = ["red" if score < 0.5 else "green" for score in sentiment_scores] hospital_df["sentiment_score"] = sentiment_scores # Create a treemap chart of the hospital data treemap_fig = px.treemap(hospital_df, path=["name"], values="beds", color="sentiment_score", color_continuous_scale=["red", "green"], hover_data=["latitude", "longitude"]) treemap_fig.update_traces(hovertemplate="%{label}
Beds: %{value}
Latitude: %{customdata[0]}
Longitude: %{customdata[1]}") treemap_fig.update_layout(margin=dict(t=25, b=25, r=25, l=25)) st.plotly_chart(treemap_fig) # Display the top five largest hospitals in Minnesota st.subheader("Top 5 Largest Hospitals in Minnesota") largest_hospitals = hospital_df.nlargest(5, "beds") st.write(largest_hospitals) if __name__ == "__main__": app()