File size: 1,378 Bytes
d3a33c8
 
 
 
bcb0eb7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d3a33c8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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

import streamlit as st
import pandas as pd

# Sample dummy data
data = {
    "Country": ["Mexico", "Mexico", "Peru", "Peru", "Guatemala"],
    "Year": [2020, 2021, 2020, 2021, 2021],
    "Variable": ["Q1", "Q2", "Q3", "Q4", "Q5"],
    "Question": [
        "How often do you visit a doctor?",
        "Do you trust the healthcare system?",
        "Have you received the COVID-19 vaccine?",
        "What is your primary source of news?",
        "Do you think education is affordable?"
    ],
    "Responses": [
        "Never, Rarely, Sometimes, Often",
        "Yes, No",
        "Yes, No",
        "TV, Internet, Radio",
        "Yes, No"
    ]
}

df = pd.DataFrame(data)

# Streamlit UI layout
st.title("🌍 CGD Survey Explorer (PoC)")

st.sidebar.header("🔎 Filter Questions")
selected_country = st.sidebar.selectbox("Select Country", sorted(df["Country"].unique()))
selected_year = st.sidebar.selectbox("Select Year", sorted(df["Year"].unique()))
keyword = st.sidebar.text_input("Keyword Search", "")

filtered = df[
    (df["Country"] == selected_country) &
    (df["Year"] == selected_year) &
    (df["Question"].str.contains(keyword, case=False, na=False))
]

st.markdown(f"### Results for **{selected_country}** in **{selected_year}**")
st.dataframe(filtered[["Variable", "Question", "Responses"]])

if filtered.empty:
    st.info("No matching questions found.")