This commit is contained in:
2025-06-19 09:07:56 +00:00
parent 0df84f0cc0
commit b28ce3fabd

View File

@@ -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 ++++++++++++++++++++++++++++++++++++++++++++++++++++