Seite 1 von 1

Re: Python Excel Vergleich Werte

Verfasst: Samstag 17. Juli 2021, 18:01
von servus_97
Also schlägst du vor mit einer anderen Bibliothek die Daten einzulesen ?

Wie bspw. openpyxl

Re: Python Excel Vergleich Werte

Verfasst: Samstag 17. Juli 2021, 18:02
von servus_97
Also schlägst du vor mit einer anderen Bibliothek die Daten einzulesen ?

Wie bspw. openpyxl

Re: Python Excel Vergleich Werte

Verfasst: Samstag 17. Juli 2021, 19:12
von nezzcarth
servus_97 hat geschrieben: Dienstag 13. Juli 2021, 10:50 Würde ich jedoch den ersten Ansatz nehmen, so könnte man auch "nltk.edit_distance()" verwenden.
Du hast dich jetzt schon für einen anderen Ansatz entschieden, wenn ich das korrekt verstanden habe, aber mal der Vollständigkeit halber:

'nltk.edit_distance' ist nur mit Einschränkung zu empfehlen. Das verwendet, soweit ich das sehe, die "Lehrbuchimplementierung" mit Dynamic Programming und ist in reinem Python geschrieben. Für kleine Mengen und zum Rumspielen ist das okay. Aber wenn Performance wichtig ist, würde ich das nicht empfehlen. In der Fachliteratur wurden diverse Verbesserungen der Zeichenkettendistanz beschrieben. Auf Pypi findet man eine handvoll Implementierungen, die in C, C++ und/oder Cython implementiert sind und zumindest teilweise einige dieser optimierten Algorithmen einsetzen. Wenn es um größere Datenmengen, d.h. viele Vergleiche geht, würde ich daher dort schauen und dann die Implementierung nehmen, die für dich am besten funktioniert.

Re: Python Excel Vergleich Werte

Verfasst: Sonntag 18. Juli 2021, 16:25
von servus_97
Habe es doch geschafft, indem ich einfach die zu betrachtende Spalte ausgewählt und dann habe ich einfach

Code: Alles auswählen

x = df_correct['name'].to_string().splitlines()
in eine Variable gespeichert. Auch für den zweiten Excel Sheet.

Jetzt hatte ich extra einige Buchstaben für Testzwecke entfernt und habe den Code abgespielt.

Jetzt bekommen ich überall
Nike | 1 | Ni
die Wahrscheinlichkeit 1.
D.h. der Algorithmus erkennt Ni mit 100% WK als Nike an ?

Und wie könnte ich jetzt einfach, in dem Fall, Ni als Nike ändern ?

Re: Python Excel Vergleich Werte

Verfasst: Dienstag 27. Juli 2021, 16:11
von LukeNukem
servus_97 hat geschrieben: Sonntag 18. Juli 2021, 16:25 Jetzt bekommen ich überall
Nike | 1 | Ni
die Wahrscheinlichkeit 1.
D.h. der Algorithmus erkennt Ni mit 100% WK als Nike an ?
...unter den gegebenen Auswahlmöglichkeiten, genau. Wenn Du meinen Code benutzt hast, sind das natürlich 100%, denn die Anzahl der korrekten Möglichkeiten ist mit 2 ja sehr überschaubar, und die beiden Namen "Nike" und "Bosch AG" unterscheiden sich ja dann doch sehr deutlich.
servus_97 hat geschrieben: Sonntag 18. Juli 2021, 16:25 Und wie könnte ich jetzt einfach, in dem Fall, Ni als Nike ändern ?
Ich würde dem DataFrame zu Kontrollzwecken zwei neue Spalten hinzufügen, so im Kern (ungetestet):

Code: Alles auswählen

def predict_name(val): 
    # Korrekten Namen 'name' und Wahrscheinlichkeit 'prob' berechnen
    return pd.Series({'name': name, 'prob': prob})

df[['name', 'prob']] = df.Marken.apply(predict_name, axis=1)
Danach würde ich mir die drei Spalten mal nebeneinander ausgeben lassen und das Ergebnis manuell überprüfen. HTH, have fun! ;-)