File size: 1,793 Bytes
be736db
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import streamlit as st
import pandas as pd
import numpy as np

# Load the largest hospitals data
data = [
    {"Hospital": "Texas Health Presbyterian Hospital Dallas", "City": "Dallas", "State": "TX", "Beds": 898},
    {"Hospital": "Cedars-Sinai Medical Center", "City": "Los Angeles", "State": "CA", "Beds": 886},
    {"Hospital": "Jackson Memorial Hospital", "City": "Miami", "State": "FL", "Beds": 1618},
    {"Hospital": "New York-Presbyterian Hospital", "City": "New York", "State": "NY", "Beds": 2528},
    {"Hospital": "Barnes-Jewish Hospital", "City": "St. Louis", "State": "MO", "Beds": 1252},
]

# Create a Pandas DataFrame from the data
df = pd.DataFrame(data)

# Define the generative AI function
def generate_data(df, num_rows=1):
    # Calculate the mean and standard deviation of the Beds column
    bed_mean = df["Beds"].mean()
    bed_std = df["Beds"].std()
    
    # Generate new data using a normal distribution
    new_data = {
        "Hospital": [f"Generated Hospital {i}" for i in range(num_rows)],
        "City": np.random.choice(df["City"], num_rows),
        "State": np.random.choice(df["State"], num_rows),
        "Beds": np.random.normal(bed_mean, bed_std, num_rows).astype(int)
    }
    
    # Create a new DataFrame from the generated data and return it
    return pd.DataFrame(new_data)

# Define the Streamlit app
def app():
    st.title("Generative AI Demo")
    
    # Display the original data
    st.subheader("Original Data")
    st.write(df)
    
    # Generate new data and display it
    st.subheader("Generated Data")
    num_rows = st.slider("Number of rows to generate", min_value=1, max_value=100, value=1)
    new_data = generate_data(df, num_rows=num_rows)
    st.write(new_data)

# Run the Streamlit app
if __name__ == "__main__":
    app()