Python-Skriptdepot - Beim Eingeben von Schlüsselwerten tritt ein KeyError aufIch habe ein Python-Score-Skript vom JMP-Depot generiert,
Wenn ich ein Wörterbuch mit Werten (aus einer JSON-Datei) an die Bewertungsformel sende, erhalte ich einen KeyError (als ob der Schlüssel nicht existiert, obwohl er existiert).Könnte das ein Problem mit der Rücktaste sein?
Ich habe die JMP-Datei und die JSON-Datei angehängt
Danke
War
Automatisierung und SkriptingDatenzugriffBetreff: Python-Skriptdepot - Abrufen eines KeyError bei der Eingabe von SchlüsselwertenHallo @ eranraz100 ,
Schön, dass Sie unsere Modelle für die Produktion einsetzen!
Der KeyError handelt von einer Zeichenfolge, die als Schlüssel im Eingabewörterbuch verwendet wird und die wiederum aus den JMP-Spaltennamen generiert wird, die als Eingabe in Ihrem Modell verwendet werden. JMP unterstützt Leerzeichen in Spaltennamen, und die als Schlüssel im generierten Python-Code verwendeten Zeichenfolgen enthalten auch eingebettete Leerzeichen:
def getInputMetadata():
return {
# ...
u"SURFACE FINISH CS": "str",
}
Es sieht so aus, als würde der Prozess, der die JSON-Eingabedaten generiert, diese Leerzeichen durch Unterstriche ersetzen:
{
"SURFACE_FINISH_CS":"FULL_HGLD",
}
Ich hoffe, dass dies auf der Seite der JSON-Generierung leicht zu beheben ist. Wenn dies nicht der Fall ist, reicht es aus, die Spaltennamen zu ändern, um die Leerzeichen durch Unterstriche zu ersetzen und das Modell neu zu generieren.
Betreff: Python-Skriptdepot - Abrufen eines KeyError bei der Eingabe von SchlüsselwertenHallo nochmal @ eranraz100 ,
Willkommen in der JMP-Community. Sieht so aus, als wären Sie gerade beigetreten.
Ich bin gespannt auf Ihre Verwendung unseres Python-Scoring-Codes. Sie sind der erste Kunde, der nach der Verwendung von JSON als Eingabe gefragt hat.
Ich habe immer gedacht, dass dies ein erstklassiges Nutzungsszenario ist, da es unseren Modellen erleichtert, Daten aus webbasierten Prozessen zu verwenden.
Zum Beispiel ist dies ein Internetanwendung Erstellt für eine JMP Discovery 2017-Konferenz Lernprogramm .
Das Frontend ist eine statische App, die auf Leaflet basiert, und das Backend ist eines unserer Modelle, die nach Python exportiert wurden und auf AWS Lambda ausgeführt werden.
Tun Sie etwas in diese Richtung?
Betreff: Python-Skriptdepot – Beim Eingeben von Schlüsselwerten tritt ein KeyError aufHallo, ja, das ist die Art von Lösung, die wir zu implementieren versuchen.
Ich verwende das Flask-Web-Framework als REST-API. Der Zweck besteht darin, SAP diese API während der Preiskalkulation nutzen zu lassen.
Die API führt eine Datenvalidierung und -konvertierung durch und adressiert dann die Score-Funktion mit Parametern
vielen Dank für Ihre Hilfe und die nützlichen Daten, die Sie angehängt haben
Prost
War