SantanuBanerjee commited on
Commit
af1e983
·
verified ·
1 Parent(s): 0449345

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +72 -8
app.py CHANGED
@@ -405,6 +405,8 @@ def create_project_proposals(budget_cluster_df, problem_cluster_df, location_clu
405
  consoleMessage_and_Print("\n Starting function: create_project_proposals")
406
  proposals = {}
407
 
 
 
408
  for loc in budget_cluster_df.index:
409
  consoleMessage_and_Print(f"\n loc: {loc}")
410
 
@@ -436,8 +438,15 @@ def create_project_proposals(budget_cluster_df, problem_cluster_df, location_clu
436
  # Check if proposal is valid
437
  if isinstance(proposal, str) and proposal.strip(): # Valid string that's not empty
438
  proposals[(loc, prob)] = proposal
 
 
 
 
439
  else:
440
  print(f"Skipping empty problem descriptions for location: {location}, problem domain: {problem_domain}")
 
 
 
441
 
442
  return proposals
443
 
@@ -609,27 +618,82 @@ def process_excel(file):
609
  consoleMessage_and_Print("Processing the DataFrame...")
610
  processed_df, budget_cluster_df, problem_cluster_df, project_proposals, location_clusters, problem_clusters = nlp_pipeline(df)
611
  # processed_df, budget_cluster_df, problem_cluster_df, location_clusters, problem_clusters = nlp_pipeline(df)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
612
 
613
- ### Convert project_proposals dictionary to DataFrame
614
- project_proposals_df = pd.DataFrame.from_dict(project_proposals, orient='index', columns=['Solutions Proposed'])
615
- project_proposals_df.index.names = ['Location_Cluster', 'Problem_Cluster']
616
- project_proposals_df.reset_index(inplace=True)
 
617
 
618
  consoleMessage_and_Print("Creating the Excel file.")
619
  output_filename = "OutPut_PPs.xlsx"
620
  with pd.ExcelWriter(output_filename) as writer:
 
621
 
622
  try:
623
  project_proposals_df.to_excel(writer, sheet_name='Project_Proposals', index=False)
624
  except Exception as e:
625
  consoleMessage_and_Print("Error during Project Proposal excelling at the end")
626
-
627
-
628
-
629
 
630
  budget_cluster_df.to_excel(writer, sheet_name='Financial_Weights')
631
  problem_cluster_df.to_excel(writer, sheet_name='Problem_Descriptions')
632
- processed_df.to_excel(writer, sheet_name='Input_Processed', index=False)
633
 
634
 
635
 
 
405
  consoleMessage_and_Print("\n Starting function: create_project_proposals")
406
  proposals = {}
407
 
408
+ sanban_debug = False
409
+
410
  for loc in budget_cluster_df.index:
411
  consoleMessage_and_Print(f"\n loc: {loc}")
412
 
 
438
  # Check if proposal is valid
439
  if isinstance(proposal, str) and proposal.strip(): # Valid string that's not empty
440
  proposals[(loc, prob)] = proposal
441
+
442
+ sanban_debug = True
443
+ break
444
+
445
  else:
446
  print(f"Skipping empty problem descriptions for location: {location}, problem domain: {problem_domain}")
447
+
448
+ if sanban_debug:
449
+ break
450
 
451
  return proposals
452
 
 
618
  consoleMessage_and_Print("Processing the DataFrame...")
619
  processed_df, budget_cluster_df, problem_cluster_df, project_proposals, location_clusters, problem_clusters = nlp_pipeline(df)
620
  # processed_df, budget_cluster_df, problem_cluster_df, location_clusters, problem_clusters = nlp_pipeline(df)
621
+
622
+ consoleMessage_and_Print("Error was here")
623
+ #This code first converts the dictionary to a DataFrame with a single column for the composite key.
624
+ #Then, it splits the composite key into separate columns for Location_Cluster and Problem_Cluster.
625
+ #Finally, it reorders the columns and writes the DataFrame to an Excel sheet.
626
+ try: # Meta AI Solution
627
+ # Convert project_proposals dictionary to DataFrame
628
+ project_proposals_df = pd.DataFrame(list(project_proposals.items()), columns=['Location_Cluster_Problem_Cluster', 'Solutions Proposed'])
629
+ consoleMessage_and_Print("CheckPoint 1")
630
+
631
+ # Split the composite key into separate columns
632
+ project_proposals_df[['Location_Cluster', 'Problem_Cluster']] = project_proposals_df['Location_Cluster_Problem_Cluster'].apply(pd.Series)
633
+ consoleMessage_and_Print("CheckPoint 2")
634
+
635
+ # Drop the composite key column
636
+ project_proposals_df.drop('Location_Cluster_Problem_Cluster', axis=1, inplace=True)
637
+ consoleMessage_and_Print("CheckPoint 3")
638
+
639
+ # Reorder the columns
640
+ project_proposals_df = project_proposals_df[['Location_Cluster', 'Problem_Cluster', 'Solutions Proposed']]
641
+ consoleMessage_and_Print("CheckPoint 4")
642
+
643
+ except Exception as e:
644
+ consoleMessage_and_Print("Meta AI Solution did not work, trying CHATGPT solution")
645
+ try:
646
+
647
+ # Convert project_proposals dictionary to DataFrame
648
+ project_proposals_df = pd.DataFrame.from_dict(
649
+ proposals, orient='index', columns=['Solutions Proposed']
650
+ )
651
+
652
+ # If the index is a tuple, it automatically becomes a MultiIndex, so we handle naming correctly:
653
+ if isinstance(project_proposals_df.index, pd.MultiIndex):
654
+ project_proposals_df.index.names = ['Location_Cluster', 'Problem_Cluster']
655
+ else:
656
+ # If for some reason it's not a MultiIndex, we name it appropriately
657
+ project_proposals_df.index.name = 'Cluster'
658
+
659
+ # Reset index to have Location_Cluster and Problem_Cluster as columns
660
+ project_proposals_df.reset_index(inplace=True)
661
+
662
+ except Exception as e:
663
+ print(e)
664
+
665
+
666
+
667
+
668
+
669
+
670
+
671
+
672
+ # ### Convert project_proposals dictionary to DataFrame
673
+ # project_proposals_df = pd.DataFrame.from_dict(project_proposals, orient='index', columns=['Solutions Proposed'])
674
+ # project_proposals_df.index.names = ['Location_Cluster', 'Problem_Cluster']
675
+ # project_proposals_df.reset_index(inplace=True)
676
+
677
 
678
+
679
+
680
+
681
+
682
+
683
 
684
  consoleMessage_and_Print("Creating the Excel file.")
685
  output_filename = "OutPut_PPs.xlsx"
686
  with pd.ExcelWriter(output_filename) as writer:
687
+ processed_df.to_excel(writer, sheet_name='Input_Processed', index=False)
688
 
689
  try:
690
  project_proposals_df.to_excel(writer, sheet_name='Project_Proposals', index=False)
691
  except Exception as e:
692
  consoleMessage_and_Print("Error during Project Proposal excelling at the end")
 
 
 
693
 
694
  budget_cluster_df.to_excel(writer, sheet_name='Financial_Weights')
695
  problem_cluster_df.to_excel(writer, sheet_name='Problem_Descriptions')
696
+
697
 
698
 
699