Depósito de scripts de Python: obteniendo un KeyError al ingresar valores claveObtuve un script de puntuación de Python generado por el depósito de JMP,
Cuando envío un dictado de valores (tomado de un archivo json) a la fórmula de puntuación, termina con KeyError (como si la clave no existiera, pero lo es) ¿Podría ser un problema de retroceso?
Adjunté el archivo JMP y el archivo json
Gracias
Eran
Tabla de datosOtroScriptingRe: Python script depot - obteniendo un KeyError al ingresar valores claveHola @ eranraz100 ,
¡Me alegra verle implementar nuestros modelos en producción!
KeyError se trata de una cadena utilizada como clave en el diccionario de entrada, que a su vez se genera a partir de los nombres de columna JMP utilizados como entrada en su modelo. JMP admite espacios en los nombres de las columnas y las cadenas que se utilizan como claves en el código Python generado también tienen espacios incrustados:
def getInputMetadata():
return {
# ...
u"SURFACE FINISH CS": "str",
}
Parece que el proceso que genera los datos de entrada JSON reemplaza estos espacios con guiones bajos:
{
"SURFACE_FINISH_CS":"FULL_HGLD",
}
Espero que esto sea fácil de solucionar en el lado de la generación JSON, pero si no, cambiar los nombres de las columnas para reemplazar los espacios con guiones bajos y regenerar el modelo funcionaría.
Re: Python script depot - obteniendo un KeyError al ingresar valores claveHola, gracias por la rápida respuesta.
como mencionas, utilicé una función para alterar el json generado, y funcionó.
puedes marcar el problema como resuelto
gracias de nuevo
Eran
Re: Python script depot - obteniendo un KeyError al ingresar valores claveHola de nuevo @ eranraz100 ,
Bienvenido a la comunidad de JMP, parece que acaba de unirse.
Tengo curiosidad sobre su uso de nuestro código de puntuación de Python; usted es el primer cliente que preguntó sobre el uso de JSON como entrada.
Siempre pensé que este sería un escenario de uso principal, ya que facilita que nuestros modelos consuman datos de procesos basados en la web.
Por ejemplo, esta es una Aplicación web creado para una conferencia JMP Discovery 2017 tutorial .
El frontend es una aplicación estática basada en Leaflet y el backend es uno de nuestros modelos exportados a Python y que se ejecutan en AWS Lambda.
¿Estás haciendo algo en ese sentido?