Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -60,8 +60,11 @@ def is_matching_pattern(column, prefix):
|
|
60 |
def multi_answer(df):
|
61 |
friquency = {}
|
62 |
for i in df.columns:
|
63 |
-
|
64 |
-
|
|
|
|
|
|
|
65 |
|
66 |
friquency_dataframe = pd.DataFrame({"Value": friquency.keys(), "Friquency": friquency.values(), "Percentage": np.array(list(friquency.values()))/len(df.dropna(how='all'))*100}).sort_values(by='Value')
|
67 |
friquency_dataframe.loc[len(friquency_dataframe)] = ['Sample_size', len(df.dropna(how='all')), 1]
|
@@ -246,13 +249,8 @@ if main_option == "Tabulation":
|
|
246 |
matching_cols = [col for col in df.columns if is_matching_pattern(col, var)]
|
247 |
if matching_cols:
|
248 |
subset_df = df[matching_cols]
|
249 |
-
|
250 |
-
try:
|
251 |
-
result_df = multi_answer(subset_df)
|
252 |
|
253 |
-
except Exception as e:
|
254 |
-
st.error(f"❌ tabee: {e}")
|
255 |
-
|
256 |
st.subheader("Multiple Answer Analysis Results")
|
257 |
st.dataframe(result_df)
|
258 |
|
|
|
60 |
def multi_answer(df):
|
61 |
friquency = {}
|
62 |
for i in df.columns:
|
63 |
+
try:
|
64 |
+
unique_values = list(set(df[i].dropna()))[0]
|
65 |
+
friquency[str(unique_values)] = df[i].value_counts().get(unique_values, 0)
|
66 |
+
except Exception as e:
|
67 |
+
st.error(f"Warning: One of the data columns has no value.: {e}")
|
68 |
|
69 |
friquency_dataframe = pd.DataFrame({"Value": friquency.keys(), "Friquency": friquency.values(), "Percentage": np.array(list(friquency.values()))/len(df.dropna(how='all'))*100}).sort_values(by='Value')
|
70 |
friquency_dataframe.loc[len(friquency_dataframe)] = ['Sample_size', len(df.dropna(how='all')), 1]
|
|
|
249 |
matching_cols = [col for col in df.columns if is_matching_pattern(col, var)]
|
250 |
if matching_cols:
|
251 |
subset_df = df[matching_cols]
|
252 |
+
result_df = multi_answer(subset_df)
|
|
|
|
|
253 |
|
|
|
|
|
|
|
254 |
st.subheader("Multiple Answer Analysis Results")
|
255 |
st.dataframe(result_df)
|
256 |
|