Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -95,41 +95,30 @@ else:
|
|
95 |
st.markdown("<p style='font-family:sans-serif;font-size: 1rem;'>Raw TAPAS Answer: </p>", unsafe_allow_html=True)
|
96 |
st.write(raw_answer) # Display the raw TAPAS output
|
97 |
|
98 |
-
#
|
99 |
answer = raw_answer.get('answer', '')
|
100 |
-
aggregator = raw_answer.get('aggregator', '')
|
101 |
coordinates = raw_answer.get('coordinates', [])
|
102 |
cells = raw_answer.get('cells', [])
|
103 |
|
104 |
-
# Display relevant data from TAPAS output to be used by Plotly
|
105 |
st.markdown("<p style='font-family:sans-serif;font-size: 1rem;'>Relevant Data for Plotly: </p>", unsafe_allow_html=True)
|
106 |
st.write(f"Answer: {answer}")
|
107 |
-
st.write(f"Aggregator: {aggregator}")
|
108 |
st.write(f"Coordinates: {coordinates}")
|
109 |
st.write(f"Cells: {cells}")
|
110 |
|
111 |
-
#
|
112 |
-
if
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
elif 'max' in question.lower() or aggregator == 'MAX':
|
119 |
-
max_value = df.max().max() # Find overall max value
|
120 |
-
base_sentence = f"The maximum value for '{question}' is {max_value:.2f}."
|
121 |
-
elif 'min' in question.lower() or aggregator == 'MIN':
|
122 |
-
min_value = df.min().min() # Find overall min value
|
123 |
-
base_sentence = f"The minimum value for '{question}' is {min_value:.2f}."
|
124 |
-
elif 'count' in question.lower() or aggregator == 'COUNT':
|
125 |
-
count_value = df.count().sum() # Count all values
|
126 |
-
base_sentence = f"The total count of non-null values for '{question}' is {count_value}."
|
127 |
-
else:
|
128 |
-
base_sentence = f"The answer from TAPAS for '{question}' is {answer}."
|
129 |
|
130 |
-
|
131 |
-
|
132 |
-
|
|
|
|
|
|
|
133 |
|
134 |
else:
|
135 |
# Handle graph-related questions
|
@@ -147,9 +136,7 @@ else:
|
|
147 |
if column in df.columns:
|
148 |
fig = px.line(df, x=df.index, y=column, title=f"Graph of column '{column}'")
|
149 |
st.plotly_chart(fig, use_container_width=True)
|
150 |
-
st.success(f"Here is the graph of column '{column}'.")
|
151 |
|
152 |
-
# Stop further execution after generating the graph
|
153 |
st.stop() # This halts further execution
|
154 |
|
155 |
except Exception as e:
|
|
|
95 |
st.markdown("<p style='font-family:sans-serif;font-size: 1rem;'>Raw TAPAS Answer: </p>", unsafe_allow_html=True)
|
96 |
st.write(raw_answer) # Display the raw TAPAS output
|
97 |
|
98 |
+
# Extract relevant values for Plotly
|
99 |
answer = raw_answer.get('answer', '')
|
|
|
100 |
coordinates = raw_answer.get('coordinates', [])
|
101 |
cells = raw_answer.get('cells', [])
|
102 |
|
|
|
103 |
st.markdown("<p style='font-family:sans-serif;font-size: 1rem;'>Relevant Data for Plotly: </p>", unsafe_allow_html=True)
|
104 |
st.write(f"Answer: {answer}")
|
|
|
105 |
st.write(f"Coordinates: {coordinates}")
|
106 |
st.write(f"Cells: {cells}")
|
107 |
|
108 |
+
# If TAPAS is returning a list of numbers for "average" like you mentioned
|
109 |
+
if "average" in question.lower() and cells:
|
110 |
+
# Assuming cells are numeric values that can be plotted in a graph
|
111 |
+
plot_data = [float(cell) for cell in cells] # Convert cells to numeric data
|
112 |
+
|
113 |
+
# Create a DataFrame for Plotly
|
114 |
+
plot_df = pd.DataFrame({ 'Index': list(range(1, len(plot_data) + 1)), 'Value': plot_data })
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
|
116 |
+
# Generate a graph using Plotly
|
117 |
+
fig = px.line(plot_df, x='Index', y='Value', title=f"Graph for '{question}'")
|
118 |
+
st.plotly_chart(fig, use_container_width=True)
|
119 |
+
|
120 |
+
else:
|
121 |
+
st.write(f"No data to plot for the question: '{question}'")
|
122 |
|
123 |
else:
|
124 |
# Handle graph-related questions
|
|
|
136 |
if column in df.columns:
|
137 |
fig = px.line(df, x=df.index, y=column, title=f"Graph of column '{column}'")
|
138 |
st.plotly_chart(fig, use_container_width=True)
|
|
|
139 |
|
|
|
140 |
st.stop() # This halts further execution
|
141 |
|
142 |
except Exception as e:
|