tanish78 commited on
Commit
0348d93
·
verified ·
1 Parent(s): 9ae5162

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -13
app.py CHANGED
@@ -169,24 +169,25 @@ def generate_bar_chart(df, num_clusters_to_display):
169
  img = Image.open(buf)
170
  return img
171
 
172
- def main(file, num_clusters_to_display):
173
  try:
174
  df = pd.read_csv(file)
175
 
176
- # Filter by 'Fallback Message shown'
177
- df = df[df['Answer'] == 'Fallback Message shown']
178
 
179
  df = preprocess_data(df)
 
 
180
 
181
- # Get category sizes and sort by size in ascending order
182
  category_sizes = df['Category'].value_counts().reset_index()
183
  category_sizes.columns = ['Category', 'Count']
184
  sorted_categories = category_sizes.sort_values(by='Count', ascending=False)['Category'].tolist()
185
  sorted_categories_sm = category_sizes.sort_values(by='Count', ascending=True)['Category'].tolist()
 
186
 
187
- # Get the largest x categories as specified by num_clusters_to_display
188
- largest_categories = sorted_categories[:num_clusters_to_display]
189
- smallest_categories = sorted_categories[:num_clusters_to_display]
190
 
191
  # Filter the dataframe to include only the largest categories
192
  filtered_df = df[df['Category'].isin(largest_categories)]
@@ -196,18 +197,15 @@ def main(file, num_clusters_to_display):
196
  filtered_df = filtered_df.sort_values(by='Category')
197
  filtered_cloud_df = filtered_cloud_df.sort_values(by='Category')
198
 
199
- wordcloud_img = generate_wordcloud(filtered_cloud_df)
200
- bar_chart_img = generate_bar_chart(filtered_df, num_clusters_to_display)
201
 
202
  with tempfile.NamedTemporaryFile(delete=False, suffix=".csv") as tmpfile:
203
  filtered_df.to_csv(tmpfile.name, index=False)
204
- csv_file_path = tmpfile.name
205
-
206
- return csv_file_path, wordcloud_img, bar_chart_img
207
- except Exception as e:
208
  print(f"Error: {e}")
209
  return str(e), None, None
210
 
 
211
  interface = gr.Interface(
212
  fn=main,
213
  inputs=[
 
169
  img = Image.open(buf)
170
  return img
171
 
172
+ def main(file, num_categories_to_display):
173
  try:
174
  df = pd.read_csv(file)
175
 
 
 
176
 
177
  df = preprocess_data(df)
178
+
179
+ df = df[df['Category'] != 'Miscellaneous']
180
 
181
+ # Get category sizes and sort by size in descending order
182
  category_sizes = df['Category'].value_counts().reset_index()
183
  category_sizes.columns = ['Category', 'Count']
184
  sorted_categories = category_sizes.sort_values(by='Count', ascending=False)['Category'].tolist()
185
  sorted_categories_sm = category_sizes.sort_values(by='Count', ascending=True)['Category'].tolist()
186
+
187
 
188
+ # Get the largest x categories as specified by num_categories_to_display
189
+ largest_categories = sorted_categories[:num_categories_to_display]
190
+ smallest_categories = sorted_categories_sm[:num_categories_to_display]
191
 
192
  # Filter the dataframe to include only the largest categories
193
  filtered_df = df[df['Category'].isin(largest_categories)]
 
197
  filtered_df = filtered_df.sort_values(by='Category')
198
  filtered_cloud_df = filtered_cloud_df.sort_values(by='Category')
199
 
200
+ wordcloud_img = generate_wordcloud(filtered_cloud_df) # Word cloud based on the entire dataframe
201
+ bar_chart_img = generate_bar_chart(df, num_categories_to_display) # Bar chart based on the filtered dataframe
202
 
203
  with tempfile.NamedTemporaryFile(delete=False, suffix=".csv") as tmpfile:
204
  filtered_df.to_csv(tmpfile.name, index=False)
 
 
 
 
205
  print(f"Error: {e}")
206
  return str(e), None, None
207
 
208
+
209
  interface = gr.Interface(
210
  fn=main,
211
  inputs=[