Spaces:
Running
Running
go back to prev filter
Browse files
app.py
CHANGED
@@ -38,30 +38,20 @@ df = get_data()
|
|
38 |
st.title("๐ CGD Survey Explorer (Live DB)")
|
39 |
|
40 |
st.sidebar.header("๐ Filter Questions")
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
if
|
56 |
-
|
57 |
-
else:
|
58 |
-
selected_years = st.sidebar.multiselect("Select Years", all_years)
|
59 |
-
|
60 |
-
# Free-text keyword filter
|
61 |
-
keyword = st.sidebar.text_input("Keyword Search (in question)", "")
|
62 |
-
|
63 |
-
# Column selection
|
64 |
-
all_columns = df.columns.tolist()
|
65 |
-
default_columns = ["country", "year", "question_text", "answer_text"]
|
66 |
-
selected_columns = st.sidebar.multiselect("Columns to Display", all_columns, default=default_columns)
|
67 |
|
|
|
38 |
st.title("๐ CGD Survey Explorer (Live DB)")
|
39 |
|
40 |
st.sidebar.header("๐ Filter Questions")
|
41 |
+
selected_country = st.sidebar.selectbox("Select Country", sorted(df["country"].unique()))
|
42 |
+
selected_year = st.sidebar.selectbox("Select Year", sorted(df["year"].unique()))
|
43 |
+
keyword = st.sidebar.text_input("Keyword Search", "")
|
44 |
+
|
45 |
+
# Filtered data
|
46 |
+
filtered = df[
|
47 |
+
(df["country"] == selected_country) &
|
48 |
+
(df["year"] == selected_year) &
|
49 |
+
(df["question_text"].str.contains(keyword, case=False, na=False))
|
50 |
+
]
|
51 |
+
|
52 |
+
st.markdown(f"### Results for **{selected_country}** in **{selected_year}**")
|
53 |
+
st.dataframe(filtered[["country", "question_text", "answer_text"]])
|
54 |
+
|
55 |
+
if filtered.empty:
|
56 |
+
st.info("No matching questions found.")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
|