From b28ce3fabd4cce1175bff0a1990f6744b90b589c Mon Sep 17 00:00:00 2001 From: Floke Date: Thu, 19 Jun 2025 09:07:56 +0000 Subject: [PATCH] bugfix --- brancheneinstufung.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/brancheneinstufung.py b/brancheneinstufung.py index 8a46c76d..35dcf5e7 100644 --- a/brancheneinstufung.py +++ b/brancheneinstufung.py @@ -9173,6 +9173,35 @@ class DataProcessor: df_filtered.loc[:, 'Branchen_Gruppe'] = cleaned_branches.str.lower().map(mapping_lower).fillna('Sonstige') self.logger.info("Mapping zu 'Branchen_Gruppe' durchgeführt.") + + # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + # +++ NEUER, ERWEITERTER DEBUGGING-BLOCK ++++++++++++++++++++++++++++++++ + # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + # Finde heraus, welche Branchen nicht gemappt werden konnten + unmapped_df = df_filtered[df_filtered['Branchen_Gruppe'] == 'Sonstige'] + + if not unmapped_df.empty: + unmapped_branches = unmapped_df[branche_col_internal].value_counts() + self.logger.warning(f"KONNTE MAPPING NICHT DURCHFÜHREN! {len(unmapped_branches)} verschiedene Detail-Branchen wurden als 'Sonstige' klassifiziert.") + self.logger.warning("Überprüfen Sie auf Unterschiede in Schreibweise, Leerzeichen oder Sonderzeichen.") + + # Zeige die Top 10 nicht gemappten Branchen mit ihrer Häufigkeit + self.logger.warning("Top 10 nicht gemappte Branchen aus dem Google Sheet:") + for branch_name, count in unmapped_branches.head(10).items(): + # Zeige den Wert exakt so an, wie er in der Spalte steht, in Anführungszeichen + self.logger.warning(f" -> '{branch_name}' (kam {count} mal vor)") + + # Zeige einige Beispiele der normalisierten Schlüssel aus dem Mapping-File zum Vergleich + if mapping_lower: + self.logger.warning("Beispiele für normalisierte Schlüssel aus der Branchen.csv:") + # .keys() ist eine Ansicht, konvertiere zu Liste für Slicing + example_keys = list(mapping_lower.keys()) + for i in range(min(10, len(example_keys))): + self.logger.warning(f" -> '{example_keys[i]}'") + # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + # +++ ENDE DEBUGGING-BLOCK ++++++++++++++++++++++++++++++++++++++++++++++++ + # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + self.logger.debug(f"Verteilung der Branchen-Gruppen:\n{df_filtered['Branchen_Gruppe'].value_counts(normalize=True).sort_index().round(3)}") # +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # +++ ENDE NEUER BLOCK ++++++++++++++++++++++++++++++++++++++++++++++++++++